1. 哈夫曼编码。对教材P167中习题5.18,思考并完成问题a-d。
根据题目中给出的已知条件,可以画出这些英文字母的哈弗曼树,如下如所示:
(a)这些字母的最优Huffman编码分别是:
a:0111
b:010001
c:10001
d:01101
e:111
f:000010
g:010011
h:1011
i:1101
j:0000000011
k:00000001
l:01100
m:000001
n:1100
o:0101
p:010000
q:0000000001
r:1010
s:1001
t:0001
u:10000
v:0000001
w:000011
x:0000000010
y:010010
z:0000000000
(b) 每个字母的编码平均需要4.112位,取整数的话就是4-5位;
(c) 该值会比以上的结果还要大,因为计算熵的时候有小数位,而实际上每个字符的编码的长度都是整数;
(d) 可以把前缀、后缀或者整个单词的本身组合起来考虑。