算法 第六次作业

来源:互联网 发布:算法设计手册 pdf 编辑:程序博客网 时间:2024/06/05 04:06
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)您是否认为这就是英文文本压缩的下线?除了字母及其出现频率,还有哪些英文本身的特征需要在文本压缩中被重点考虑?

答:哈夫曼树及其最优哈夫曼编码:


b:

(c)熵约为5.7,结果比熵要大,因为在计算熵的时候允许有小数个比特,而每个字符的编码长度都必需为整数
(d)不是,英文单词中有很多单词的前缀和后缀都相同,可以把这些相同的前缀和后缀也考虑进去


0 0
原创粉丝点击