后序遍歷的操作順序為:
- 第一步和之前一樣同廉,如果二叉樹為空,什么都不做
- 后序遍歷左子樹
- 后序遍歷右子樹
- 訪問根結點
再來回憶下先序和中序,先序為:先根后左再右峻呛,中序為:先左再根再右罗售。
根據(jù)之前兩篇的經(jīng)驗,后序遍歷也只不過是換換函數(shù)的調用位置钩述。
代碼
void foreach_post_tree(BiTree T){
if(T != NULL){
foreach_post_tree(T->lchild);
foreach_post_tree(T->rchild);
printf("%c ",T->data);
}
}
執(zhí)行結果為:
G D B E F C A
跟視頻中結果一致寨躁。so easy。
這三種遍歷都是比較簡潔易懂的牙勘,缺點是開銷比較大职恳。
有問題肯定就有解決,所以接下來還要學洗二叉樹的非遞歸遍歷方面。