采用霍夫曼編碼(Huffman)畫出字符串各字符編碼的過程並求出各字符編碼 --多媒體技術與應用


題目:有一個字符串:cabcedeacacdeddaaaba,問題:
(1)采用霍夫曼編碼畫出編碼的過程,並寫出各字符的編碼
(2)根據求得的編碼,求得各編碼需要的總位數
(3)求出整個字符串總編碼長度,並計算出字符串位數在編碼前與編碼后的比值

解答:
(1)各字符出現頻率統計如下表所示。

符號 出現次數 出現頻率
a 7 0.35
b 2 0.1
c 4 0.2
d 4 0.2
e 3 0.15

編碼過程如下圖所示:
在這里插入圖片描述
各字符編碼如下表所示:

符號 編碼(碼字)
a 11
b 100
c 00
d 01
e 101

(2)由(1)可進一步知道字符編碼的碼長和需要的位數

符號 符號出現次數 概率 編碼(碼字) 碼長 需要的位數
a 7 0.35 11 2 14
b 2 0.1 100 3 6
c 4 0.2 00 2 8
d 4 0.2 01 2 8
e 3 0.15 101 3 9

根據求得的編碼,求得各編碼需要的總位數是:45位(14+6+8+8+9=45)。
(3)字符串總編碼長度:60bit(20 x 3 = 60)。
編碼前與編碼后的比值:4/3(編碼前是60,編碼后是45)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM