霍夫曼碼相同值的情況 - 考試

Table of Contents


非資訊背景,對這很不熟悉,希望能幫我解答!!

在霍夫曼樹的步驟中

1. 將出現頻率大小依序存入佇列
2. 取出頻率最小節點兩個合併
3. 合併之後將其頻率合放佇列(依順序大小,相同大小合併值會放後面)
4. 直到合併數=1

上課時老師也是說合併值放後面

但是WIKI裡的範例跟我解的不一樣 http://0rz.tw/MUZe9 (Fig.2霍夫曼編碼演算步驟)

2,3,4,4,5,7

2+3=5*(合併後的)

4,4,5,5*,7 -> 5,5*,7,8 這時候合併過後的節點(5*)不是應該在節點(5)右邊嗎?

希望有高手可以為我解惑!!> <

--

All Comments

James avatarJames2014-04-10
未看先答,霍夫曼碼大部分都不是唯一解,老王上課有說
Candice avatarCandice2014-04-10
不是唯一解沒錯 但原po的問題跟這個無關 編碼過程要合乎規
則不然不會是最短碼長
Zenobia avatarZenobia2014-04-15
總之原PO就是困惑在第三點的順序,我覺得只要是從權重小
Jessica avatarJessica2014-04-15
開始運算就可以得到最短碼長,至於順序就依照你看到的原
則做應該是不會錯的,因為樹不唯一所以我覺得都對
Gary avatarGary2014-04-19
答案不是唯一解,所以左右沒差,外部路徑權重一樣就可以
Tracy avatarTracy2014-04-22
感謝a大補充這點 這樣我更清楚了!!!^^