Pa1=01Pa2=04Pa3=006Pa4=01Pa5=004Pa6=03分别用Huffman和算术编码对字符串a1a2进行编码。
使用Huffman编码:
- 构建哈夫曼树:
0.6
/ \
a2:0.4 0.2
/ \
a6:0.3 a1:0.1+a3:0.06+a4:0.1+a5:0.04
- 给每个字符编码:
a2: 0
a6: 10
a1: 1100
a3: 1101
a4: 1110
a5: 1111
- 编码字符串"a1a2"
1100 0
使用算术编码:
- 计算每个字符的累计概率:
a1: 0.1
a2: 0.5
a3: 0.56
a4: 0.66
a5: 0.7
a6: 1
- 计算编码区间:
初始区间为[0,1)
编码'a1':
区间变为[0.1,0.2),编码为0.1
编码'a2':
区间变为[0.4,0.5),编码为0.4
最后的编码为0.1 0.4,即"a1a2"的算术编码。
原文地址: https://www.cveoy.top/t/topic/hf8l 著作权归作者所有。请勿转载和采集!