樹結點數


樹結點數

0.概念

樹(tree)指每個結點只有一個前件(也稱父結點)、有多個后件(也稱子結點)的非線性結構。沒有父結點的結點稱為根結點,每棵樹只能有一個根結點;沒有子結點的結點稱為葉子結點。樹結構中,一個結點擁有子結點的個數稱為該結點的度;所有結點中最大的度稱為這棵樹的度。

1.結點數計算

假設樹度為 x 的結點數為 nx ,則一棵樹可以表示為:

x 0 1 2 3 ...
nₓ n₀ n₁ n₂ n₃ ...

根據樹的形成過程,每增加一個度為 x 的結點,總結點數將增加 x 個。所以:

\[Sum = \sum n_i = 1 + \sum i \times n_i \]

其中 Sum 表示樹的總節點數。

同理,每增加一個度為 x 的結點,葉子節點數將增加 x-1 個。所以:

\[Sum' = n_0 = 1 + \sum n_i(i-1) = 1 + \sum_{i=2} n_i(i-1) \]

其中 Sum' 表示樹的葉子結點數。

2.二叉樹特例

二叉樹度小於3的樹。即每個結點最多有兩個子結點。有如下性質:

  • 第k層上最多有 2k-1 個結點。
  • k層二叉樹最多有 2k-1 個結點。
  • 葉子結點總比度為2的結點多一個。

    \[Sum' = 1 + \sum_{i=2} n_i(i-1) = 1 + n_2 \]

  • 具有n個結點的二叉數深度最少為 [log2(n+1)]+1 ,中括號表示取整。


免責聲明!

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



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