二叉樹和完全二叉樹一些規律
1、二叉樹具有以下規律:
1)二叉樹高度為i所在的層至多有 個節點
2)高度為k的二叉樹至多有 -1個節點
3)對於任何一棵二叉樹,若度為2的節點數有n2個,則葉子數有n0個,則葉子數n0必定為n2+1即n0=n2+1;
注意:高度是從0開始計算的,也就是說二叉樹最後一層的高度為0.
證3):
二叉樹全部節點數為 葉子數、度為1的節點數和度為2的節點數之和,即 n = n0 + n1 + n2。
而二叉樹的全部節點數可以表示為總分支數加1,即 n = B + 1;
而總分支數 B = n1 + 2n2
綜上可得: n1 +2n2 + 1 = no + n1 + n2 ===》 n0 = n2 + 1
2、完全二叉樹具有以下規律:
1)節點數為N的完全二叉樹,其高度為 (向下取整),也就是說該樹一共有
2)對於完全二叉樹,若從上至下、從左至右編號,則編號為i的節點,其左孩子節點編號為2i,右孩子節點編號為2i+1,父親節點為i/2;
證1):假設完全二叉樹有k層,完全二叉樹的總節點數N在k-1層的滿二叉樹和k層的滿二叉樹之間,即:
兩邊同時加1得:
< N + 1 ====》 N <
兩邊同時取對數得:
k - 1 < k
所以 k = + 1,即高度為 向下取整。
證2):
對於完全二叉樹第k層中編號為i的節點,在第k層中其前面有x = i - 個節點(這裡的指的是前k-1層節點總數);在第 k層中第i個節點後面有 y = - x - 1個節點。編號為i的節點其左孩子節點為:
i + y +2x + 1 = i + - x -1 + 2x+ 1 = i + + x =i + + i - = 2i
編號為i的節點其右孩子節點為:
i + y +2x + 2 = 2i + 1