第十一周專案1 層次遍歷演算法(1)

2021-07-07 05:47:10 字數 1442 閱讀 5021

/*

檔名稱:第十一周專案1 - 二叉樹演算法驗證.cpp

作 者:高露

完成日期:2023年11月16日

版 本 號:v1.0

問題描述: 執行並重複測試教學內容中涉及的演算法。改變測試資料進行重複測試的意義在於,

可以從更多角度體會演算法,以達到逐漸掌握演算法的程度。

使用你的測試資料,並展示測試結果,觀察執行結果,以此來領會演算法。

輸入描述: 若干測試資料。

程式輸出: 對應資料的輸出。

*/#define maxsize 100

typedef char elemtype;

typedef struct node

btnode;

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

btnode *findnode(btnode *b,elemtype x); //返回data域為x的節點指標

btnode *lchildnode(btnode *p); //返回*p節點的左孩子節點指標

btnode *rchildnode(btnode *p); //返回*p節點的右孩子節點指標

int btnodedepth(btnode *b); //求二叉樹b的深度

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

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

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

j++;

ch=str[j];

}}btnode *findnode(btnode *b,elemtype x) //返回data域為x的節點指標

}btnode *lchildnode(btnode *p) //返回*p節點的左孩子節點指標

btnode *rchildnode(btnode *p) //返回*p節點的右孩子節點指標

int btnodedepth(btnode *b) //求二叉樹b的深度

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

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

}#include void levelorder(btnode *b)

if (p->rchild!=null) //有右孩子時將其進隊

}}int main()

執行結果:

學習心得:二叉樹的層次遍歷的實現

第十一周 專案一 層次遍歷演算法1

計算機控制工程學院 班級 計156 2 姓名 陳飛 問題及 define maxsize 100 typedef char elemtype typedef struct node btnode void createbtnode btnode b,char str 由str串建立二叉鏈 btnod...

第十一周專案1 驗證演算法(1)層次遍歷演算法的驗證

問題及 煙台大學計算機與控制工程學院 檔名稱 lulu.cpp 完成日期 2015年11月16日 版本號 v1.o 問題描述 層次遍歷演算法的驗證。btree.h ifndef btree h included define btree h included define maxsize 100 t...

第十一周專案一 驗證演算法(1)層次遍歷演算法的驗證

問題及 2015,煙台大學計算機與控制工程學院 完成日期 2015年11月9日 問題描述 層次遍歷的驗證 1 標頭檔案 ifndef btree h included define btree h included define maxsize 100 typedef char elemtype t...