【二叉樹遍歷的非遞迴演算法】
實現二叉樹的先序、中序、後序遍歷的非遞迴演算法,並對用」a(b(d,e(h(j,k(l,m(,n))))),c(f,g(,i)))」建立的二叉樹進行測試。
請利用二叉樹演算法庫。
[參考解答](btreee.h見演算法庫)
#include
#include "btree.h"
void preorder1(btnode *b)
if (p->lchild!=null) //左孩子入棧
}printf("\n");
}}void inorder1(btnode *b)
if (top>-1)
}printf("\n");
}}void postorder1(btnode *b)
p=null; //p指向當前節點的前乙個已訪問的節點
flag=1;
while (top!=-1 && flag)
else}}
while (top!=-1);
printf("\n");
}}int main()
注:在main函式中,建立的用於測試的二叉樹如下——
第十周專案1 二叉樹遍歷的遞迴演算法
檔名稱 第十周專案1 二叉樹遍歷的遞迴演算法 作 者 葛惠文 完成日期 2017年11月6日 版 本 號 v1.0 可以從更多角度體會演算法,以達到逐漸掌握演算法的程度。發布博文時,每類演算法發一篇博文,請使用你的測試資料,並展示測試結果。1 層次遍歷演算法的驗證 2 二叉樹構造演算法的驗證 3 中...
第十周專案2 二叉樹遍歷的遞迴演算法
all right reserved.檔名稱 test.cpp 完成日期 2015年11月9日 版本號 v1.0 問題描述 實現二叉樹的先序 中序 後序遍歷的遞迴演算法,並對用 a b d,e h j,k l,m n c f,g i 建立的二叉樹進行測試。請參考二叉樹演算法庫 include inc...
第十周專案2 二叉樹遍歷的遞迴演算法
檔名稱 第十周專案2 二叉樹遍歷的遞迴演算法.cpp 作 者 高露 完成日期 2015年11月9日 版 本 號 v1.0 問題描述 實現二叉樹的先序 中序 後序遍歷的遞迴演算法,並對用 a b d,e h j,k l,m n c f,g i 建立的二叉樹進行測試。請利用二叉樹演算法庫。輸入描述 若干...