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

来源:互联网 发布:工厂erp系统源码 编辑:程序博客网 时间:2024/05/17 02:56
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=      
   您认为该值会比以上的就算结果大还是小?为什么?

   (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)不认为,还需要考虑的是单词的前后缀,甚至单词本身的组合,

0 0
原创粉丝点击