當前位置:編程學習大全網 - 編程軟體 - 完全二叉樹葉子節點的算法

完全二叉樹葉子節點的算法

設:度為i的結點數為ni,由二叉樹的性質可知:

n0 = n2 + 1……………………①式

n = n0 + n1 + n2……………②式

由①式可得 n2 = n0 - 1,帶入②式得:

n0 = (n + 1 - n1)/ 2

由完全二叉樹性質可知:

如圖,當n為偶數時,n1 = 1, n0 = n / 2

如圖,當n為奇數時,n1 = 0,n0 = (n + 1)/2

將兩式合並,寫作:n0 = ?(n+1)/2?(向下取整符號不能丟)

擴展資料:

完全二叉樹的特點:

1.葉子結點只可能在層次最大的兩層上出現。

2.對任壹結點,若其由分支下的子孫的最大層次為l,則其左分支下的子孫的最大層次必為l或l+1。

完全二叉樹的性質:

1.具有n個結點的完全二叉樹的深度為?log?n?+1。

2.如果對壹棵有n個結點的完全二叉樹的結點按層序編號,則對任壹結點i,有:

(1)如果i=1,則結點i是二叉樹的根節點,無雙親;如果i>1,則其雙親是結點?i/2?。

(2)如果2i>n,則結點i無左孩子;否則其左孩子是結點2i。

(3)如果2i+1>n,則結點i無右孩子;否則其右孩子是結點2i+1。

  • 上一篇:沒有學歷的廣州學什麽技術好?
  • 下一篇:區塊鏈特性
  • copyright 2024編程學習大全網