#include
#include
#define elemtype char
//建立樹的資料結構型別
typedef struct tree
tree,*stree;
//樹的建立
void create(stree &t)//注意這裡必須用引用
}//樹的先序遍歷
void preorder(stree t)
}//樹的中序遍歷
void midorder(stree t)
}//樹的後序遍歷
void postorder(stree t)
}//求樹的葉子結點
void countleaf(stree t,int &count)
else}}
//求樹的深度
int depth(stree t)
return d;
}//主函式部分
void main()
/*請輸入樹的序列:
abc**de*g**f***
先序遍歷的結果:
abcdegf
中序遍歷的結果:
cbegdfa
後序遍歷的結果:
cgefdba
葉子結點:c
葉子結點:g
葉子結點:f
樹的葉子結點的個數是:3
樹的深度是:5
press any key to continue
*/
基礎練習 樹的建立及遍歷(遞迴 佇列的應用)
3.完整編碼 4.後續計畫 參考資訊 二叉搜尋樹 樹的遍歷 遞迴和佇列的基礎知識 結構化陣列 typedef int elementtype 通過typedef增加靈活性,樹節點的元素型別若改變,修改typedef語句即可 typedef struct binarysearchtree ptrbst...
樹及樹的遍歷
幾個概念和性質 樹可以沒有結點,此情況下稱為空樹 empty tree 樹的層次 layer 從根結點開始算起,即根節點為第一層 把節點的子樹棵樹稱為結點的度 degree 而樹中結點的最大值的度稱為樹的度 樹的邊數等於結點數減1,反之,滿足連通且邊數等於結點數減1即為樹 結點深度自頂向下累加,結點...
二叉樹的建立及遍歷
對任意的二叉樹的結點結構都可以設定為如下結構,leftchild指向該結點的左孩子,rightchild指向右孩子,data域記錄結點資訊,以此結點結構形成的二叉樹稱為二叉鍊錶。儲存結構型別為 typedef char elemtype typedef struct nodebitnode,bitr...