二叉樹:樹的一種特殊形態,每個節點的度小於等於2(可以是0、1、2)
二叉樹的五種基本形態
- 空二叉樹
- 僅有根節點的二叉樹
- 左子樹爲空二叉樹
- 右子樹爲空的二叉樹
- 左右子樹都不爲空的二叉樹
二叉樹的性質:
- 在二叉樹的i層上至多有2^(i-1)個節點
- 深度爲k的二叉樹最多有2^k-1個節點
- 對於任何一個二叉樹T,如果其終端節點數爲n_0,度爲2的節點數爲n_2,則n_0 = n_2 +1
N = n_0 + n_1 + n_2
從孩子-雙親的角度來看,總的節點數也就等於分支數+1(因爲根節點是沒有前驅的,一個節點就是一個分支)
M = N - 1
從雙親節點-孩子的角度來看,總的分支數也就是度爲2的節點的分支數 + 度爲1的節點分支數(度爲2的節點有2個分支和其孩子節點相連接,葉子節點是沒有子分支的)
M = 2n_2 + n_1
由上可以算得n_0 = n_2 +1
- 具有n個節點的 完全二叉樹 深度爲:⌊log₂n⌋ + 1
- 對一棵有n個結點的 完全二叉樹(其深度爲⌊log₂n⌋ + 1),則其任一節點i,有
若i = 1,則是根節點,無雙親,若i > 0,則節點i的雙親節點爲⌊i/2⌋
若2i > n,則節點i是葉子節點,否則其右孩子就是2i
如果2i + 1 > n,則節點i無右孩子,否則其右孩子就是節點2i + 1