越贊越長的符號怎么打?
霍夫曼編碼的原理是,符號的頻率越高,其碼長越短,反之亦然。
很好理解:要使總長度最短,出現的符號越多,編碼就越短。打個不恰當的比方。;漢字的筆畫很少嗎?"g
哈夫曼編碼效率怎么計算?
霍夫曼編碼原理
霍夫曼編碼是在1952年為文本文件建立的,它是一種統計編碼。屬于無損壓縮編碼。
霍夫曼編碼的碼長是變化的,對于頻率高的信息,碼長更短。對于頻率較低的信息,編碼長度較長。這樣,處理所有信息的總碼長必須小于實際信息的符號長度。
步驟如下:
l)按照出現概率遞減的順序排列信號源的符號。
2)將兩個最小出現概率合并相加,所得結果作為新符號的出現概率。
3)重復步驟1和2,直到概率相加的結果等于1。
4)在合并操作中,高概率的符號用代碼0表示,低概率的符號用代碼1表示。
5)記錄概率為1的點到當前信號源符號的0,L序列,從而得到每個符號的編碼。
示例:
設信號源是s{S1,S2,S3,S4,S5}
對應的概率是p{0.25,0.22,0.20,0.18,0.15}。
根據字符出現的概率,構造平均長度最短的異前綴碼字。
Houweimann編碼通常采用兩次掃描的方法,第一次掃描得到統計結果,第二次掃描用于編碼。
霍夫曼編碼有一些明顯的特點:
1)編碼后的碼都是不同的前綴碼,保證了碼的唯一可譯性。
2)因為編碼長度是可變的。所以解碼時間長,使得霍夫曼編碼的壓縮和恢復非常耗時。
3)編碼長度不統一,硬件實現困難。
4)不同信號源的編碼效率不同。當信號源的符號概率為2的負冪時,編碼效率達到100%;如果信號源符號的概率相等,則編碼效率最低。
5)由于#340#34和#341#34的指定是任意的,上述過程編譯的最佳碼不是唯一的,但其平均碼長是相同的,因此編碼效率和數據壓縮性能不受影響。