文章目錄
1. 樹
1.1. 樹的基本概念和基本術語
1.1.1 樹的基本概念
1. 樹有兩種情況
1. 空樹:結點樹爲0的樹.
* 注意:空樹也是樹。
2. 非空樹
* 特點
1. 一棵樹有且只有一個根結點。
2. 除了根結點以外,每個結點有有且只有一個前驅。
3. 每個結點可以有0個或多個後繼。
4. 沒有後繼的結點稱爲“葉子結點”(或終端結點)
5. 有後繼的結點稱爲“分支結點”(或非終端結點)。根結點也是分支結點。
2. 子樹:每個結點的子孫結點可以分爲互不相交的有限集合,而每一個集合又是一棵樹,並且稱爲該結點的子樹。
* 注意:從子樹的概念,我們可以看出樹是遞歸定義的。
子樹的例子:
1.1.2 基本術語
1.1.2.1 結點之間的關係
1. 雙親結點(父結點):該結點的前驅結點稱爲該結點的父節點。
2. 孩子結點:該結點的後繼結點稱爲該結點的孩子結點。
3. 祖先結點:該結點的父結點,父結點的父結點,父結點的父結點的父結點...一直到根結點都是該結點的祖先結點。
* 注意:祖先結點包括父結點
4. 子孫結點:該結點的孩子結點,孩子結點的孩子結點,孩子結點的孩子結點的孩子結點...一直到葉子結點都是該結點的子孫結點。
* 注意:子孫結點包括孩子結點
5. 兄弟結點:有相同前驅的結點,稱爲兄弟結點。
6. 堂兄弟結點:兩個結點的父節點有相同的前驅,稱爲堂兄弟結點。
7. 兩個結點間的路徑:只能從上到下,因爲樹的邊是又向的,指向葉子結點。
8. 路徑長度:兩個結點間的路徑經過幾條邊。
1.1.2.2 結點、樹的屬性
1. 結點的層次(深度):從上往下數。
2. 結點的高度:從下往上數。
3. 數的高度(深度): 總共有多少層。
4. 結點的度:有幾個孩子。(指出結點的邊數)
5. 樹的度:各結點的度的最大值。
* 注意:以上從上往下或者從下往上數時,默認從1開始數。如果題目給出從0開始數,就從0開始數。
1.1.2.3 有序樹和無序樹
1. 有序樹:邏輯上看,樹中結點的各子樹從左到右是有次序的,不能交換。
2. 無序樹:邏輯上看,樹中結點的各子樹從左到右是無次序的,可以交換。
* 注意:要用有序樹還是無序樹,主要看是否需要用結點的左右位置反映某些邏輯關係。
1.1.2.4 森林
1. 森林:是m(m>=0)顆互不相交的樹的集合。
* 注意:m=0,爲空森林。
1.1.3 小結
1.2 樹的重要知識點
1.2.1 六個考點
小結:總結起來就是
- 樹的結點總數與結點度的關係。
- 樹的結點總數與樹的高度的關係。