完全二叉樹的性質
定義
- 滿二叉樹
-
一棵深度為k,且有 $2^{k+1}-1$ 個節點的二叉樹,稱為滿二叉樹(Full Binary Tree)。 這種樹的特點是每一層上的節點數都是最大節點數。
- 完全二叉樹
-
而在一棵二叉樹中,除最后一層外,若其余層都是滿的,並且最后一層或者是滿的,或者是在右邊缺少連續若干節點,則此二叉樹為完全二叉樹(Complete Binary Tree)。
- 高度(深度)
-
即層數k,注意【根】定義為$height(root)=0$。
性質
- 具有n個節點的完全二叉樹的深度為 \(k=log_{2}n\) 。
- 【滿二叉樹】\(i\)層的節點數目為:\(2^i\)
- 【滿二叉樹】節點總數和深度的關系:\(n=\sum_{i=0}^{k}2^i = 2^{k+1}-1\)
- 【完全二叉樹】最后一層的節點數為:\(n-(2^k - 1) = n + 1 -2^k\) (因為除最后一層外,為【滿二叉樹】)
- 【完全二叉樹】左子樹的節點數為(總節點為n):
\[l(n) = \begin{cases} n-2^{k-1}, & n+1-2^k \le 2^{k-1} \text{ 因為最后一層全部都在左子樹,右子樹為【滿二叉樹】高度為 k-2}\\ 2^{k}-1, & n+1-2^k \gt 2^{k-1} \text{ 因為左子樹為滿二叉樹,高度為k-1} \end{cases} \]
- 【完全二叉樹】右子樹: \(r(n) = n-l(n)\)