1. 哈夫曼编码。对教材P167中习题5.18,思考并完成问题a-d。
(下表给出了英文字母(包括用于分割单词的空格)在某文集中的出现频率。
空格 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编码是什么?
(b)每个字母的编码平均需要多少位?
(c)假设我们对以上的频率表计算其熵H= .您认为该值会比以上的计算结果大还是小?为什么?
(d)您是否认为这就是英文文本压缩的下线?除了字母及其出现频率,还有哪些英文本身的特征需要在文本压缩中被重点考虑?
资料:http://baike.baidu.com/link?url=ss1zCh5NPu7Au0yuOJkkMV9ITFcjwt5X5qNW3l_LDqoZFgz2Ybf5vNTp40V1vbUc
原理:
(a)最优哈弗曼编码
a 1011
b 100000
c 01001
d 11001
e 001
f 101000
g 100011
h 0001
i 0111
j 110000001
k 11000001
l 10101
m 11001
n 0110
o 1001
p 100001
q 11000000001
r 0000
s 0101
t 1101
u 01000
v 1100001
w 101001
x 1100000001
y 100010
z 11000000000
空格 111
(b)上面所有位相加=146
146/27=5.4位 取整6位。
(C) 熵值比平均位数大,公式中计算过程存在浮点数。
(d)应该不是吧,英文的语法不太清楚 大概就跟中文的‘的’一类的要考虑