二叉樹節點推導(一)


 已知節點數為767個的完全二叉樹,葉子節點是多少?

若n為總節點數

n0為 度為0的節點數

n1為 度為1的節點數

n2為 度為2的節點數

n=n0+n1+n2

n0=n2+1

所以 n =  2n0+n1-1  =767

又因為完全二叉樹度為1 的有0 或 1 個

n=2n0 或者 n =2n0-1 

767不能被2整除,所以 2n0 = 768 所以 n0為384,葉子節點384個

 

二叉樹結點計算問題
設一棵滿二叉樹中,度為2的結點數為7,則二叉樹的全部結點可能為多少?

只有一個答案啊,因為二叉樹中n0 = n2 + 1,現在度為2的結點個數是7,所以度為0的結點(也就是葉子)個數為8,並且滿二叉樹中沒有度為1的結點,因此二叉樹的全部結點個數為15

 深度為k的二叉樹,最多有2^k-1個節點。(滿二叉樹情況,減去根節點)

 

證明二叉樹的第i層上至多有2的i-1次方個結點

第1層1個,為2^(1-1)
二叉樹每個結點至多2個孩子,因此
第二層最多2 *1 = 2^(2-1)
第三層最多2*2= 2^(3-1)
....
第i層上至多有2的i-1次方個結點

 

 具有 n 個結點的完全二叉樹的深度        (注:[ ]表示向下取整)

深度為k的二叉樹的節點總數最多為1+2+4+..+2^(k-1)=2^k-1
則設n個節點的二叉樹深度為m,2^m-1>=n
m>=log2(n+1)>log(2n),由於m是整數
m>=[log2n]+1

 

  對任意的一顆二叉樹 T ,若葉子結點數為 n0,而其度數為 2 的結點數為 n2,則 n0 = n2+1

解答:設:節點總數是K+1 =n0+n1+n2

度總數是 K = 2n2+n1

              n2-n0+1=0

            得出結論: n0=n2+1

 

 如果有一顆有n個節點的完全二叉樹的節點按層次序編號,對任一層的節點i(1<=i<=n)有

                        (1).如果i=1,則節點是二叉樹的根,無雙親,如果i>1,則其雙親節點為[i/2],向下取整

                        (2).如果2i>n那么節點i沒有左孩子,否則其左孩子為2i

                        (3).如果2i+1>n那么節點沒有右孩子,否則右孩子為2i+1

 

 

 完全二叉樹

 

定義:一棵二叉樹中,只有最下面兩層結點的度可以小於2,且最下一層的葉結點集中在靠左的若干位置上。這樣的二叉樹稱為完全二叉樹。
特點:葉子結點只能出現在最下層和次下層,且最下層的葉子結點集中在樹的左部

 


免責聲明!

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



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