[問題] 霍夫曼碼相同值的情況求解惑!!!!(已解決)
非資訊背景,對這很不熟悉,希望能幫我解答!!
在霍夫曼樹的步驟中
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)右邊嗎?
希望有高手可以為我解惑!!> <
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.184.92
※ 文章網址: http://www.ptt.cc/bbs/Examination/M.1396749875.A.BA2.html
推
04/06 10:57, , 1F
04/06 10:57, 1F
推
04/06 11:10, , 2F
04/06 11:10, 2F
→
04/06 11:10, , 3F
04/06 11:10, 3F
推
04/06 11:23, , 4F
04/06 11:23, 4F
→
04/06 11:24, , 5F
04/06 11:24, 5F
→
04/06 11:24, , 6F
04/06 11:24, 6F
所以我想g大的意思是"合併值若遇相同值會放後面"這個準則並不是絕對
只要結果出來為最短碼長都是可以的,對吧!
※ 編輯: may87236 (111.255.184.92), 04/06/2014 12:12:45
推
04/06 12:15, , 7F
04/06 12:15, 7F
→
04/06 21:22, , 8F
04/06 21:22, 8F