樹與二叉樹
二叉樹的性質
性質1 二叉樹中的第i(i>=0)層的結點數最多為2^i
性質2 深度為h(h>=1)的二叉樹最多有2^h-1個結點
性質3 對於任何一顆二叉樹,若其葉結點的個數為n0,度為2的結點n2,則有n0=n2+1
性質4
二叉樹的儲存結構
順序儲存 適合滿二叉樹或完全二叉樹
鏈式儲存 二叉鏈式儲存(最常用) 三叉鏈式儲存
二叉樹的遍歷
(以下都可以分遞迴演算法實現和非遞迴演算法實現)
層次遍歷
先根遍歷
中根遍歷
後根遍歷
二叉樹遍歷演算法的應用舉例
1查詢值為x的結點
2計算二叉樹結點的個數
3求二叉樹的深度
4判斷兩顆二叉樹是否相等
建立二叉樹
由先根遍歷和中根遍歷建立二叉樹
由後根遍歷和中根遍歷建立二叉樹
由標明空子樹的先根遍歷建立二叉樹
由完全二叉樹的順序儲存結構建立二叉樹
哈夫曼樹及哈夫曼編碼
樹形結構除了應用與查詢和排序操作時提高效率外,它在資訊通訊領域也有廣泛的應用。
樹、森林和二叉樹的轉換
樹與二叉樹的相互轉換
森林與二叉樹的相互轉換
樹的儲存結構與樹的遍歷操作
雙親鍊錶儲存結構
孩子鍊錶儲存結構
雙親孩子鍊錶儲存結構
孩子兄弟儲存結構(左子右兄二叉鏈式儲存結構)(最常用 重點掌握)
這種儲存結構與樹所對應的二叉樹的二叉樹的二叉鏈式儲存結構相同。一切對樹的操作都可以通過這種方式轉換成對二叉樹的操作,所以這種儲存方式最為廣泛。
完全二叉樹
滿二叉樹 完美二叉樹?
引入結點權值概念
最優二叉樹(哈夫曼樹)
所有葉結點乘以權值的總和最小的二叉樹稱為最優二叉樹
應用:哈夫曼編碼
最優二叉樹的構造
二叉搜尋樹
平衡二叉樹
二叉樹 滿二叉樹與完全二叉樹
二叉樹 binary tree 是n n 0 個元素的有限集合,該集合為空或者為由乙個稱為 根 的元素及兩個不相交的 被分別稱為左子樹和右子樹的二叉樹組成 二叉樹的基本特點 每個結點最多有兩棵子樹 左子樹和右子樹是有順序的,且不可顛倒 圖一1 結點 二叉樹中的每乙個元素都稱為結點。通常二叉樹的許多名...
樹與二叉樹
樹是一類重要的非線性資料結構,是以分支關係定義的層次結構 定義 樹 tree 是n n 0 個結點的有限集t,其中 n 0時為空樹 n 0時,有且僅有乙個特定的結點,稱為樹的根 root 當n 1時,其餘結點可分為m m 0 個互不相交的有限集t1,t2,tm,其中每乙個集合本身又是一棵樹,稱為根的...
樹與二叉樹
建立 先序二叉樹,中序二叉樹,後序二叉樹。給定兩種遍歷序列 前序中序或後序中序 重塑二叉樹 遍歷 判斷乙個節點是否存在於二叉樹中 二叉樹的遍歷 先序,中序,後序 遞迴 非遞迴 層次遍歷 從上到下或從下到上列印 zigzag遍歷方式層次遍歷 二叉樹性質 二叉樹中葉子節點的個數 二叉樹第k層節點數目 二...