第十周專案1 二叉樹演算法庫

2021-07-24 07:43:42 字數 1861 閱讀 1867

/*  

* 檔名稱:wu.cpp  

* 作    者:武昊 

* 完成日期:2023年11月3日  

* 版 本 號:v1.0   

*問題描述:定義二叉樹的鏈式儲存結構,實現其基本運算,並完成測試。

*輸入描述:無  

*程式輸出:測試資料  */

btree.cpp:

#include "btree.h"

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節點的右孩子節點指標

intbtnodedepth(btnode *b)  

//求二叉樹b的深度

}  void

dispbtnode(btnode *b)  

//以括號表示法輸出二叉樹

}  }  void

destroybtnode(btnode *&b)   

//銷毀二叉樹

}  btree.h:

#include 

#include 

#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節點的右孩子節點指標

intbtnodedepth(btnode *b); 

//求二叉樹b的深度

void

dispbtnode(btnode *b); 

//以括號表示法輸出二叉樹

void

destroybtnode(btnode *&b);  

//銷毀二叉樹

main.cpp:

#include "btree.h"

intmain()  

else

printf(" 未找到!"

);  

printf("\n"

);  

printf("  (4)二叉樹b的深度:%d\n"

,btnodedepth(b));  

printf("  (5)釋放二叉樹b\n"

);  

destroybtnode(b);  

return

0;  

}  

執行結果:

總結:定義二叉樹演算法庫。

心得:

對二叉樹的理解關鍵點是理解遞迴演算法,因為它在二叉樹中的利用是很廣泛的。

第十周 專案1 二叉樹演算法庫

檔名稱 main.cpp 作者 王超 完成日期 2015年11月2日 問題描述 二叉樹演算法庫 include include btree.h int main else printf 未找到!printf n printf 4 二叉樹b的深度 d n btnodedepth b printf 5 ...

第十周專案(1) 二叉樹演算法庫

問題及 btree.h 煙台大學計算機與控制工程學院 作 者 楊甯 完成日期 2015年11月2日 問題描述 定義二叉樹的鏈式儲存結構,實現其基本運算,並完成測試。ifndef btree h included define btree h included define maxsize 100 t...

第十周專案1 二叉樹演算法庫

檔名稱 h1.cpp 完成日期 2015年11月2日 版本號 vc6.0 問題描述 定義二叉樹的鏈式儲存結構,實現其基本運算,並完成測試。輸入描述 無 程式輸出 二叉樹的運算結果。include include define maxsize 100 typedef char elemtype typ...