第十周 專案1 二叉樹遍歷非遞迴演算法

2021-08-10 13:48:46 字數 787 閱讀 7537

【二叉樹遍歷的非遞迴演算法】 

實現二叉樹的先序、中序、後序遍歷的非遞迴演算法,並對用」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 建立的二叉樹進行測試。請利用二叉樹演算法庫。輸入描述 若干...