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编码是什么?
(b)每个字母的编码平均需要多少位?
(c)假设我们对以上的频率表就算其熵
H=
您认为该值会比以上的就算结果大还是小?为什么?
空格 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)您是否认为这就是英文文本压缩的下限?除了字母及其出现频率,还有那些英文本身的特征需要在文本压缩中被重点考虑?
(a)
a: 1000;
b: 101111
c: 01110
d: 11110
e: 000;
f: 100111;
g: 101100
h: 0101
i: 0011
j: 111111100;
k: 1111110
l: 10010
m:111110
n: 0010
o: 1010
p: 101110
q: 111111110;
r: 0110
s: 0100
t: 1110;
u: 01111
v: 1111110
w: 100110
x: 1111111101
y: 101101
z: 1111111111
(b)每个字母的平均编码需要 六 位
(c)结果比熵要大(约5.7),因为在计算熵的时候允许有小数个比特,而实际上每个字符的编码长度都必需为整数。
(d)不认为,还需要考虑的是单词的前后缀,甚至单词本身的组合,