樹與二叉樹
1、樹
1. 樹的定義
- 非線性數據結構
- 除根節點外,一個直接前驅,多個直接後繼
2. 樹的邏輯表示方法
3. 樹的基本術語
- 結點的度、樹的度、m次樹
- 分支結點、葉子結點
- 路徑、路徑長度
- 孩子結點、雙親結點、兄弟節點、子孫結點、祖先結點
- 結點的層次、樹的高度(深度)
- 有序樹、無序樹
- 森林
4. 樹的性質
5. 樹的基本運算
6. 樹的存儲結構
- 雙親存儲結構:用一個數組存儲結構體(數據+指向雙親的指針)
- 孩子鏈存儲結構:根據樹的度肯定指向孩子指針的個數,結構體(數據+指向孩子結點的指針數組)
- 孩子兄弟鏈存儲結構:一個數據元素域、一個指向第一個孩子的指針、一個指向下一個兄弟結點指針域
2、二叉樹
1. 二叉樹的概念
- 結構簡單、存儲效率高、運算算法相對簡單
- 任何m次樹均可以轉換爲二叉樹
- 嚴格區分左右子樹
- 五種基本形態:空、單結點、右爲空、左爲空、左右不爲空
- 滿二叉樹:徹底二叉樹的一種特例
- 徹底二叉樹:最下面一層葉子結點都排列在左邊,滿二叉樹是完成二叉樹的一個特例
2. 二叉樹的性質
3. 二叉樹與樹、森林之間的轉換(一一對應)


4. 二叉樹存儲結構
- 順序存儲結構:
- 存儲在數組
- 樹結點編號,按照編號存儲在對應的下標,空分支用#補齊
- 鏈式存儲結構:左子針域、值域、右子針域
歡迎關注本站公眾號,獲取更多信息