2.8.4 - Extended Binary Tree
Last updated
Last updated
具有n個節點的二元樹,若以Link List表示,則會有n+1條NULL
Iinks,在這些links加上特殊節點External Nodes,其餘節點稱為Internal Nodes。
圖示:
使用數學歸納法證明:
代入2.假設:
使用Huffman演算法求出最小Weighted External Path Length
自加權值集合中取出兩個最小的權值
此兩權值和他們的和建立延伸二元樹
將兩個加權值的和重新加入到集合中
重複1~3直到集合中只剩一個值
Encoding/Decoding Tree
每個message的編碼內容
m1=1010
m2=1011
m3=100
m4=00
m5=01
m6=11
Optimal Prefix Code: 當對方收到訊息後,其解碼是唯一
假設左子樹內部節點數、內部路徑長 、外部路徑長 ;右子樹內部節點數、內部路徑長 、外部路徑長 。
當內部節點數 ,此樹為空樹 ,所以 成立。
假設內部節點數為 時,此定理成立。
左子樹滿足
右子樹滿足
當內部節點數為 時,
整棵樹的 、 分別為:
( 為外部節點加權值)
圖示範例:
有6種不同的messages(m1~m6),其出現頻率分別為 ,若希望平均解碼時間最小,則該如何編碼?
平均解碼時間=
平均編碼位元長度=