昨天介紹了很多跟樹狀結構有關的名詞,今天開始介紹不同種類的樹吧ヽ(✿゚▽゚)ノ
skewed B.T. (歪斜樹)
可分為兩種
Full B.T. (完滿二元樹)
高度為k之B.T.,具有最多node數:2ᵏ-1
(圖)
Complete B.T. (完整二元樹)
高度k,Node數=n的二元樹,滿足:
(1)2ᵏ⁻¹ -1 < n < 2ᵏ-1
(2)Node編號順序與高度k的Full B.T.的前n個Nodes編號一一對應(即Node的增長需是由上而下,由左而右依序增長)
(圖)
(圖)
<證明>數學歸納法
1.當level=1時,最多只有Root一個點,所以符合2¹⁻¹=2⁰=1,初值成立
2.令level=(i-1)時,此定理成立
3.當level=i時,其最多Node數必定=(第(i-1)level之最多Node數)×2 = 2ⁱ⁻¹⁻¹ ×2 =2ⁱ⁻¹
4.Hence,由1、2、3及數學歸納法得証
<證明>
(圖)
=2⁰+2¹+2²+...+2ᵏ-1 = (2ᵏ⁻¹⁺¹-2⁰)/(2-1) = 2ᵏ-1
若二元樹有n個nodes則最大高度=n,最小高度為?
(圖)
(圖)
<證明>
假設
n:代表node總數
n₁:代表Degree-1之node數
B:代表Branch(分支)總數(即有用的link數,邊數)(即B=n-1)
所以
n = n₀ + n₁ + n₂
= B + 1
= [1×n₁+2×n₂]+1
n₀=n₂+1
Tree | Binary Tree |
---|---|
不可以為空 | 可以為空(可以是空集合) |
分支度≥0即可 | 0≤分支度≤2 |
子樹之間無次序/方向之分 | 子樹有左、右之分 |