已知信源,求huffman编码已知信源x{ x1 x2 x3 x4 x5 x60.30 0.25 0.20 0.10 0.10 0.05对其进行huffman编码,并计算其平均码长?

问题描述:

已知信源,求huffman编码
已知信源
x{ x1 x2 x3 x4 x5 x6
0.30 0.25 0.20 0.10 0.10 0.05
对其进行huffman编码,并计算其平均码长?

编码如下:
x1:0
x2:10
x3:110
x4:1110
x5:11110
x6:11111
平均码长为0.3*1+0.25*2+0.2*3+0.1*4+0.1*5+0.05*5=2.55
过程为用频数小的相加,得新的二叉数和剩下的数中最小的比较,然后组成新树,依次类推,可得huffmantree,就可写出编码