《基本数据结构-二叉树》由会员分享,可在线阅读,更多相关《基本数据结构-二叉树(51页珍藏版)》请在金锄头文库上搜索。
1、西安电子科技大学计算机学院 - 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/inorde
2、r西安电子科技大学计算机学院 - 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
3、,n);/if /PowerSet 西安电子科技大学计算机学院 - School of Computer Science bool flagMaxn; void PowerSet(int i,int n) int j; if (in) /输出幂集的一个元素; 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程序 都能套进去。