第十一周 專案1 驗證演算法(2)

2021-07-07 02:30:22 字數 1224 閱讀 8467

*問題描述:二叉樹構造演算法的驗證。 

*輸入描述:若干資料

*程式輸出:若干資料

*/**:

(1)標頭檔案 二叉樹演算法庫

(2)原始檔

方法一:由先序序列和中序序列構造二叉樹

#include #include #include "btree.h"

btnode *createbt1(char *pre,char *in,int n)

/*pre存放先序序列,in存放中序序列,n為二叉樹結點個數,

本演算法執行後返回構造的二叉鏈的根結點指標*/

void dispbtnode(btnode *b) //以括號表示法輸出二叉樹

}} int main()

執行結果:

方法二:由後序序列和中序序列構造二叉樹

#include #include #include "btree.h"

void dispbtnode(btnode *b) //以括號表示法輸出二叉樹

}}btnode *createbt2(char *post,char *in,int n)

/*post存放後序序列,in存放中序序列,n為二叉樹結點個數,

本演算法執行後返回構造的二叉鏈的根結點指標*/

int main()

執行結果:

方法三:由順序儲存結構轉為二叉鏈儲存結構

#include #include #include "btree.h"

#define n 30

typedef elemtype sqbtree[n];

btnode *trans(sqbtree a,int i)

void dispbtnode(btnode *b) //以括號表示法輸出二叉樹

}}int main()

執行結果:

知識點總結:

二叉樹構造演算法庫

第十一周專案1 驗證演算法(2)

2015,煙台大學計算機與控制工程學院 檔名稱 第十一周專案1 驗證演算法 作 者 楊惠娟 完成日期 2015年11月9日 版 本 號 v1.0 問題描述 執行並重複測試教學內容中涉及的演算法。改變測試資料進行重複測試的意義在於,可以從更多角度體會演算法,以達到逐漸掌握演算法的程度。使用你的測試資料...

第十一周專案1 驗證演算法(2)

程式 檔名稱 1.cpp 完成日期 2016年11月10日 版本號 vc6.0 問題描述 二叉樹構造演算法的驗證 輸入描述 無 程式輸出 測試結果 include include define maxsize 100 typedef char elemtype typedef struct node...

第十一周專案1驗證演算法

define maxsize 100 typedef char elemtype typedef struct node btnode void createbtnode btnode b,char str 由str串建立二叉鏈 btnode findnode btnode b,elemtype x...