二叉樹的性質

1. 在二叉樹的第 i 層上,至多有 2 的(i-1)個節點 (i>=1).

第一層:2^0   只有一個根節點

第二層:2^1    根節點生出2個子節點

第三層:2^2 .    第二層的兩個節點,每個節點生出2個子節點。所以是  2*2

.

.

.

第K層:2^(k-1)

至多有多少個,也就是爲滿二叉樹的情況下。


2.  深度爲 K 的二叉樹至多有(2^k)-1 個節點.

根據性質1 ,

第一層 :2^0 第二層:2^1  第三層:2^2 ...第k層:2^(k-1)。

這是一個等比數列。將這些相加,就是2^0+2^1 +2^2+2^3+⋯+2^(k-1)=(2^k)-1。


3. 對任何一棵二叉樹T,如果其終端節點(度爲0的節點,也就是葉子節點)數爲 a0,度爲2的節點數爲 n2 ,  則  n0=n2+1;

設n1爲度是1的節點數,n2爲度是2的節點數,n0爲度是0的節點數。

從節點數的角度來看:

T的節點總數爲:n=n0+n1+n2 

從連接線數的角度來看:

  從分支進入:除了根節點外,每個節點都有一個分支進入,所以,總的連接線數爲:總的節點數-1,即 n-1;

從出去的分支:從每個節點出去的分支來考慮連接線數。度爲0的節點,即葉子結點沒有分支出去;度爲1的節點有1個分支出去;度爲2的節點有2個分支出去。總的連接線數爲:n1+2(n2)

即: n-1=n1+2(n2)

        聯合幾個公式:n=n0+n1+n2=n1+2(n2)+1

得出: n0=n2+1

4. 具有n個節點的完全二叉樹 的深度爲 [log2n」+1 .(   [x」代表不大於x的最大整數)

深度爲k的滿二叉樹的節點數n一定是(2^k)-1 。所以,倒推得到滿二叉樹的深度爲k=log2(n+1), 

完全二叉樹的節點數一定少於等於同等深度的滿二叉樹的節點數(2^k)-1. 但是一定大於[2^(k-1)]-1 (肯定比少一層的多吧)。這樣就滿足了:[2^(k-1)]-1<n<=(2^k)-1.

5. 如果對一棵有n個節點的完全二叉樹(其深度爲 [log2n」+1)的節點按層序編號,對任一節點i(1<=i<=n),有:

1. 如果i=1,則節點i是二叉樹的根,無雙親;如果i>1,則其雙親是節點 [i/2」;

2.如果是2i>n,則節點i無左孩子;否則其左孩子是節點2i.  (一個節點的左孩子的編號是其本身的2倍)

3. 如果2i+1>n,則節點i無右孩子;否則其右孩子是節點2i+1.  (一個節點的右孩子的編號是其本身的2倍+1)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章