第六周作业1-利用哈夫曼编码英文字母表

来源:互联网 发布:php判断数据库是否存在 编辑:程序博客网 时间:2024/04/29 17:35

课本167页的习题5.18

5.18:下表给出了英文字母(包括用于分割单词的空格)在某文集中的出现的频率

空格      18.3%    |   r        4.8%    |  y       1.6%

   e         10.2%   |   d        3.5%   |  p        1.6%

   t            7.7%   |   l         3.4%   |  b        1.3%

   a           6.8%   |   c        2.6%   |  v        0.9%

   o           5.9%   |   u        2.4%   |  k        0.6%

   i            5.8%   |   m        2.1%   |  j        0.2%

   n           5.5%   |   w        1.9%   |  x        0.2%

   s           5.1%   |   f          1.8%   |  q        0.1%

   h           4.9%   |   g         1.7%   |  z        0.1%

(a)这些字母的最优Huffman编码是什么?



空格:111

a:1010

b:100101

c:00101

d:10111

e:010

f:110100

g:100110

h:0001

i:0111

j:1101110011

k:11011101

l:10110

m:110110

n:0110

o:1000

p:100100

q:1101110001

r:0000

s:0011

t:1100

u:00100

v:1101111

w:110101

x:1101110010

y:100111

z:1101110000

(b)答:(3*2+4*8+5*4+6*7+7+8+10*4)/27≈6,每个字母的编码平均需要6位

(c)答:结果肯定比熵要大,因为在计算熵的时候允许有小数个比特,

而实际上每个字符的编码长度都必需为整数。

(d)答:可以考虑整个英文出现的概率,或者从词根上来考虑。


0 0
原创粉丝点击