二叉樹
首先是二叉樹樹的定義:
struct node;
二叉樹的建立:
void create(int num,node *&root)
}
二叉樹的遍歷:
後根遍歷(遞迴)
void after(int i,int num)
if(!p.empty())
查詢樹的深度:思路就是max(左節點的深度,右節點的深度)+1;然後遞迴下去就行了
int findheight(node *&root)
if(root->right)
cnt=max(x,y)+1;
return cnt;
}
這裡對原作者表示感謝
赫夫曼樹及其編碼:
結構宣告
struct hinode;
建立赫夫曼樹:
void create(int n,char *c,int *w)
for(i=n+1;i<=2*n-1;i++)
for(i=n+1;i<=2*n-1;i++)
}
void select(int i1,int &s1,int &s2)
for(j=0;j<=m-start;j++)ht[i].code[j]=cd[j+start];
ht[i].code[j]='\0';
}}void showhuffmancode(int n){
int i;
for(i=1;i
void showhuffmanencode(int n,char *cstring){ //對陣列cstring進行解碼
int i,j;
for(j=0;j
void showhuffmandecode(int n,char *dstring){ //對一串01數字進行翻譯
int i,c,root;
root=2*n-1;
c=root;
for(i=0;i
二叉樹 二叉樹的相關操作
遞迴實現 建立求樹高 求葉子數 求節點數 統計度為2的結點個數 後序輸出 先序輸出 中序輸出 交換左右子樹 include include include define true 1 define false 0 define ok 1 define error 0 define overflow ...
二叉樹操作
最近在溫習資料結構,把書中的 寫了一遍,下面是二叉樹的基本操作,包括 1 四種遍歷二叉樹的方法 前序遍歷 中序遍歷 後序遍歷和層序遍歷,其中又包括了遞迴的和非遞迴 2 兩種建立二叉樹的方法 根據二叉樹的前序和中序序列建立二叉樹和根據二叉樹的中序後序序列建立二叉樹。1.二叉樹的儲存結構 headfil...
二叉樹操作
本文章主要包括了以下內容 建立二叉樹類。二叉樹的儲存結構使用鍊錶。供操作 前序遍歷 中序遍歷 後序遍歷 層次遍歷 計算二叉樹結點數目 計算二叉樹高度。接收鍵盤錄入的二叉樹前序序列和中序序列 各元素各不相同 輸出該二叉樹的後序序列。下面是c include include include using ...