完全二叉樹計算葉子結點數


 

 

1. 首先看下完全二叉樹的定義:

    一棵深度為k,且有2^k-1個節點稱之為滿二叉樹;深度為k,有n個節點的二叉樹,當且僅當其每一個節點都與深度為k的滿二叉樹中,序號為1至n的節點對應時,稱之為完全二叉樹

2.一條規則:

   對任何一棵二叉樹T,如果其終端結點數為n_0,度為2的結點數為n_2,則n_0=n_2+1

  推導過程:

  n0是度為0的結點總數(即葉子結點數),n1是度為1的結點總數,n2是度為2的結點總數。

  則分支數=2n2+n1  (每個n2節點有2個分支,每個n1結點有1個分支)

  另外又有:分支數=n0+n1+n2-1   (每個結點上面對應一個分支,除了根節點上面沒有分支)

  2n2+n1=n0+n1+n2-1  得  n0=n2+1

3.假設n為完全二叉樹的結點總數,則有:n=n0+n1+n2

  結合2的結論有:n0=(n-n1+1)/2

4.由於n1=1或者0,則

  •   當n1=0時(即度為1的節點為0個時,此時n為奇數)或者n為奇數時

                  n0= (n+1)/2;

  •   當n1=1時(即度為1的節點為1個時,此時n為偶數)或者n為偶數

                 n0= n/2;

  

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM