設總節點個數爲n,葉子節點個數爲n0,度爲1的節點個數爲n1,度爲2的節點個數爲n2,則必有 n0+n1+n2 = n …(①)
(1) 對於二叉樹有: n0 = n2+1…(②) (爲什麼呢?下面證明一下)
【注】(1)這個規律是所有二叉樹的規律,不是完全二叉樹所特有的規律。
(2) 由上面(①) (②)兩式 —> n0 = (n-n1+1)/2 ,n2 = (n-n1-1)/2
- n1=0,n爲奇數時:n0 = (n+1) / 2
- n1=1,n爲偶數時:n0 = n / 2
綜上
一個具有n個節點的完全二叉樹,
1、其葉子節點的個數n0爲:n / 2 向上取整,或(n+1) / 2 向下取整
2、度爲1的節點數爲:
- n爲偶數:1
- n爲奇數:0
3、度爲2的節點數爲:(n / 2)-1 向上取整,或((n+1) / 2)-1 向下取整
例題:
設一棵完全二叉樹共有699個節點,則在該二叉樹中葉子節點數爲?
葉子節點數爲:n0 = (699+1)/2 = 350
度爲1的節點數:n1 = 0
度爲2的節點數:n2 = 349