第十一周 二叉樹的構造

2021-07-09 05:58:13 字數 1282 閱讀 7297

/*

* 檔名稱: 1.cpp,main.cpp,list.h

* 完成日期:2023年12月30日

* 版本號:codeblocks

** 問題描述:  由先序序列和中序序列構造二叉樹

* 輸入描述: 無

* 程式輸出: 見執行結果

程式及**:

#ifndef btree_h_included

#define btree_h_included

#define maxsize 100

#include#includetypedef char elemtype;

typedef struct node

btnode;

void createbtnode(btnode *&b,char *str); //由str串建立二叉鏈

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

void destroybtnode(btnode *&b); //銷毀二叉樹

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

#endif // btree_h_included

#include "list.h"

void createbtnode(btnode *&b,char *str) //由str串建立二叉鏈}}

j++;

ch=str[j];

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

}}void destroybtnode(btnode *&b) //銷毀二叉樹

}btnode *createbt1(char *pre,char *in,int n)//pre存放先序序列,in存放中序序列,n為二叉樹結點個數,本演算法執行後返回構造的二叉鏈的根結點指標

#include "list.h"

int main()

執行結果:

知識點總結:

由先序序列和中序序列可以唯一確定後序序列

由中序序列和後序序列唯一可以確定先序序列

其中也運用了遞迴的呼叫

學習心得:

遞迴思想一定要靈活運用,一定要熟能生巧。

第十一周 二叉樹演算法驗證 二叉樹構造演算法的驗證

檔名稱 專案.cpp 作 者 紀冬雪 完成日期 2015年11月20日 版 本 號 v1.0 問題描述 執行並重複測試教學內容中涉及的演算法。改變測試資料進行重複測試的意義在於,可以從更多角度體會演算法,以達到逐漸掌握演算法的程度。使用你的測試資料,並展示測試結果,觀察執行結果,以此來領會演算法。輸...

第十一周專案2 二叉樹的構造

問題及 all right reserved.檔名稱 二叉樹的構造.cpp 完成日期 2015年11月9日 版本號 v1.0 問題描述 由先序序列和中序序列構造二叉樹 由中序序列和後序序列構造二叉樹 輸入描述 各個序列元素排列 程式輸出 二叉樹的構造 include include btree.h ...

第十一周 二叉樹層次遍歷演算法的驗證

檔名稱 二叉樹層次遍歷演算法的驗證.cpp 作 者 郝環宇 完成日期 2016.11.10 版 本 號 v1.0 問題描述 執行並重複測試教學內容中涉及的演算法。改變測試資料進行重複測試的意義在於,可以從更多角度體會演算法,以達到逐漸掌握演算法的程度。使用你的測試資料,並展示測試結果,觀察執行結果,...