a,根据字母及空格出现的频率,可构造哈夫曼树,利用哈夫曼编码定义,可得出哈夫曼编码为:
z:1111011000
q:1111011001
x:1111011010
j: 1111011011
k:11110111
v:1111010
b:100100
p:100101
y:111100
g:101100
f:101101
w:111110
m:111111
u:01000
c:01001
l:10011
d:10111
r:0000
h:0001
s:0101
n:0110
i:0111
o:1000
a:1010
t:1110
e:001
空格:110
b.
有问题(a)可得, (3*2+4*8+5*4+6*7+7+8+10*4)/27≈ 5.74 ;
即每个字母的编码平均需要6位.
c. 结果肯定比熵(约为5.74)要大,因为在计算熵的时候允许有小数个比特,而实际上每个字符的编码长度都必需为整数。
d.
不是.因为还可以吧前缀,后缀甚至整个单词本身组合起来考虑.