1. 介紹
具有n個節點的二元樹,若以Link List表示,則會有n+1條NULL
Iinks,在這些links加上特殊節點External Nodes,其餘節點稱為Internal Nodes。
圖示:
2. Theorem
使用數學歸納法證明:
代入2.假設:
3. Weighted External Path Length
使用Huffman演算法求出最小Weighted External Path Length
4. 應用
Optimal Prefix Code: 當對方收到訊息後,其解碼是唯一
Internal Path Length=∑i=1nL(Root to Internal Nodei)
External Path Length=∑j=0nL(Root to External Nodej)
假設左子樹內部節點數nL、內部路徑長 IL 、外部路徑長 EL;右子樹內部節點數nR、內部路徑長 IR 、外部路徑長 ER。
當內部節點數N=0 ,此樹為空樹E=I=0 ,所以 E=I+2N 成立。
假設內部節點數為 N−1 時,此定理成立。
左子樹滿足 EL=IL+2nL
右子樹滿足 ER=IR+2nR
I=IL+IR+nL+nRE=EL+ER+(nL+1)+(nR+1)
E=EL+ER+(nL+1)+(nR+1)=(IL+2nL)+(IR+2nR)+(nL+1)+(nR+1)=(IL+IR+nL+nR)+2(nL+nR+1)=I+2N
W.E.P.L=∑i=0nEi∗qi ( qi 為外部節點加權值)
圖示範例: W={2, 3, 5, 7, 9, 13}
min WEPL=2∗7+2∗9+2∗13+3∗5+4∗2+4∗3=93
有6種不同的messages(m1~m6),其出現頻率分別為 m1=392, m2=393, m3=395, m4=397, m5=399, m6=3913 ,若希望平均解碼時間最小,則該如何編碼?
平均解碼時間= ∑i=1n(解一個mi的時間)∗(mi出現頻率)
平均編碼位元長度= ∑i=1n(mi位元長度)∗(mi出現頻率)