赫夫曼编码长度计算问题?
生活随笔
收集整理的這篇文章主要介紹了
赫夫曼编码长度计算问题?
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
例題:一組字符(a,b,c,d)在文中出現(xiàn)的次數(shù)分別為(7,6,3,5),字符'd'的哈夫曼編碼的長度為?
題解:
首先構(gòu)造huffman樹
每一步都將所有數(shù)字排序
方法如下:
1:
3 5 6 7
2:
6 7 8
/ \
3 5
3:
8 13
/ \ / \
3 5 6 7
4:
21
/ \
8 13
/ \ / \
3 5 6 7
所以構(gòu)造哈夫曼樹如圖
7 6 3 5 分別對(duì)應(yīng)a b c d
如果左邊為0 ,右邊為 1 ,則他們編碼分別為:
a 11
b 10
c 00
d 01
長度為2
例題2:
這樣編碼出來為?
A: 0 1bit?
B: 10 2bit?
C: 110 3bit?
D: 111 3bit?
所以中的編碼位數(shù)就是出現(xiàn)次數(shù)×編碼bit?
1×4+2×3+3×2+3×1=19?
這個(gè)就是帶權(quán)路徑長度,因?yàn)槌霈F(xiàn)的次數(shù)就是權(quán)重,編碼長度就是節(jié)點(diǎn)到根節(jié)點(diǎn)的層數(shù),?
總結(jié)
以上是生活随笔為你收集整理的赫夫曼编码长度计算问题?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: The Book List
- 下一篇: 数据结构上机测试2-2:单链表操作B