1、二叉樹的基本概念算法
類型 | 定義 | 圖示 |
滿二叉樹
Full Binary Tree
|
除最後一層無任何子節點外,每一層上的全部節點都有兩個子節點,最後一層都是葉子節點。知足下列性質:
1)一顆樹深度爲h,最大層數爲k,深度與最大層數相同,k=h;
2)葉子節點數(最後一層)爲
3)第 i 層的節點數是:
4)總節點數是:
|
|
徹底二叉樹
Complete Binary Tree
|
若設二叉樹的深度爲h,除第 h 層外,其它各層 (1~h-1) 的結點數都達到最大個數,第 h 層全部的結點都連續集中在最左邊,這就是徹底二叉樹。知足下列性質:
1)只容許最後一層有空缺結點且空缺在右邊,即葉子節點只能在層次最大的兩層上出現;
2)對任一節點,若是其右子樹的深度爲j,則其左子樹的深度必爲j或j+1。 即度爲1的點只有1個或0個;
3)除最後一層,第 i 層的節點數是:
5)滿二叉樹必定是徹底二叉樹,徹底二叉樹不必定是滿二叉樹。
|
|
平衡二叉樹
Balanced Binary Tree
|
又被稱爲AVL樹,它是一顆空樹或左右兩個子樹的高度差的絕對值不超過 1,而且左右兩個子樹都是一棵平衡二叉樹。 | |
二叉搜索樹
Binary Search Tree
|
又稱二叉查找樹、二叉排序樹(Binary Sort Tree)。它是一顆空樹或是知足下列性質的二叉樹:
1)若左子樹不空,則左子樹上全部節點的值均小於或等於它的根節點的值;
2)若右子樹不空,則右子樹上全部節點的值均大於或等於它的根節點的值;
3)左、右子樹也分別爲二叉排序樹。
|
|
紅黑樹
Red Black Tree
|
是每一個節點都帶有顏色屬性(顏色爲紅色或黑色)的自平衡二叉查找樹,知足下列性質:
1)節點是紅色或黑色;
2)根節點是黑色;
3)全部葉子節點都是黑色;
4)每一個紅色節點必須有兩個黑色的子節點。(從每一個葉子到根的全部路徑上不能有兩個連續的紅色節點。)
5)從任一節點到其每一個葉子的全部簡單路徑都包含相同數目的黑色節點。
|