标签:
【输出二叉树中的叶子结点】
无论前序、中序、后序遍历,叶子结点的输出顺序都是一样的吗?都是一样的,输出顺序为:从树的左边到右边叶子!!在二叉树的遍历算法中增加检测结点的“左右子树是否都为空”。
1 void PreOrderPrintLeaves(BinTree Bt) 2 { 3 if(Bt) 4 { 5 if(Bt->Left == NULL && Bt->Right == NULL) 6 printf("%c ", Bt->Data); 7 PreOrderPrintLeaves(Bt->Left); 8 PreOrderPrintLeaves(Bt->Right); 9 } 10 } 11 12 void InOrderPrintLeaves(BinTree Bt) 13 { 14 if(Bt) 15 { 16 InOrderPrintLeaves(Bt->Left); 17 if(Bt->Left == NULL && Bt->Right == NULL) 18 printf("%c ", Bt->Data); 19 InOrderPrintLeaves(Bt->Right); 20 } 21 } 22 23 void PostOrderPrintLeaves(BinTree Bt) 24 { 25 if(Bt) 26 { 27 PostOrderPrintLeaves(Bt->Left); 28 PostOrderPrintLeaves(Bt->Right); 29 if(Bt->Left == NULL && Bt->Right == NULL) 30 printf("%c ", Bt->Data); 31 } 32 }
【求二叉树的高度】
【由两种遍历序列确定二叉树】
已知三种遍历中的任意两种遍历序列,能否唯一确定一棵二叉树呢?必须要有中序遍历才行!!
1、先序和中序遍历序列来确定一棵二叉树?
2、后序和中序遍历序列来确定一棵二叉树?
标签:
原文地址:http://www.cnblogs.com/utank/p/4272409.html