基本数据结构-二叉树
西安电子科技大学计算机学院 - School of Computer Science struct BiTNode *lchild,*rchild; BiTNode, *BiTree;西安电子科技大学计算机学院 - School of Computer Science /先序遍历根的左子树preorder(root->Rchild); /先序遍历根的右子树/if/preorder西安电子科技大学计算机学院 - School of Computer Science /中序遍历根的左子树coutdata;/访问根结点inorder(root->Rchild); /中序遍历根的右子树/if/inorder西安电子科技大学计算机学院 - School of Computer Science /后序遍历根的左子树postorder(root->Rchild); /后序遍历根的右子树coutdata;/访问根结点/if/postorder西安电子科技大学计算机学院 - School of Computer Science /先序遍历根的左子树preorder(root->Rchild); /先序遍历根的右子树/if/preorderBACEDGFABDEGCF调用返回(回溯 )西安电子科技大学计算机学院 - School of Computer Science 舍第i个元素; PowerSet(i+1,n);/if /PowerSet 西安电子科技大学计算机学院 - School of Computer Science bool flagMaxn; void PowerSet(int i,int n) int j; if (i>n) /输出幂集的一个元素; for(j=1;jn) 输出棋盘的当前布局; elsefor(j=1; j<=n; j+) /在第i行的每一列上进行试探在第i行、第j列上放一个皇后;if (当前布局合法) Trial(i+1,n);移走第i行、第j列上的皇后; /for /Tiral西安电子科技大学计算机学院 - School of Computer Science 否则对各种可能情况进行循环:if possible加入标记;进入下一层; /递归调用清除标记;elseif 所有情况列举完毕,则返回上一层这个结构是普遍适用的 。任何递归的DFS程序 都能套进去。