2012年5月14日 星期一

【資料結構】霍夫曼樹:資料壓縮(Huffman Tree)

霍夫曼樹:資料壓縮(Huffman Tree)



出現頻率高
編碼較短
愈接近root
出現頻率低
編碼較長
愈接近leaf



建立最小加權路徑長的二元樹(minimum weighted external path)

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

解說:

========================================================================
題目:
輸入10000個字元,其中字元出現次數:#(A)=1400 , #(B)=800 , #(C)=3000, #(D)=2700 ,#(E)=600,#(F)=1500,#(其他字母)=0。使用霍夫曼(Huffman)編碼進行壓縮,其壓縮結果不含編碼簿(codebook)需要多少bits?

解答:

------------------------------------------------------------------------------------------------------------參考:
1.高上
http://www.get.com.tw/goldensun/exam/answer/100KP/PDF-K/K38.pdf
2.
http://blog.xuite.net/pika0613/notes/3749409
3.
http://www.javaworld.com.tw/jute/post/view?bid=5&id=25653&tpg=1&ppg=1&sty=1&age=0

沒有留言:

張貼留言

如果久久沒有反應,請直接寄信
應該是我不太會用google blogger 導致有留言過久未處理><
實在深感抱歉..