算法 第六次作业
2014-06-08 18:09
232 查看
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)您是否认为这就是英文文本压缩的下线?除了字母及其出现频率,还有哪些英文本身的特征需要在文本压缩中被重点考虑?
答:哈夫曼树及其最优哈夫曼编码:
![](https://img-blog.csdn.net/20140608180156640?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXExMTUxNTIzMzQ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
b:
![](https://img-blog.csdn.net/20140608180223062?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXExMTUxNTIzMzQ1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
(c)熵约为5.7,结果比熵要大,因为在计算熵的时候允许有小数个比特,而每个字符的编码长度都必需为整数
(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)不是,英文单词中有很多单词的前缀和后缀都相同,可以把这些相同的前缀和后缀也考虑进去
相关文章推荐
- 算法与数据结构第六次作业 渣五战的记忆力
- 算法第六次作业
- 短作业优先算法的缺点
- 算法第二周作业:名词解释
- 第六次java作业
- 算法分析与设计课程作业第十九周#1
- 第六次作业矩阵运算库函数NO.3
- 算法课作业系列7——Best Time to Buy and Sell Stock with Transaction Fee
- 第六次上机作业
- Hadoop集群三种作业调度算法介绍
- 算法作业2
- 算法作业:证明题(2)-- 8.8
- 第三周算法作业冒泡排序1114班
- 算法 批处理作业调度
- 第六次课后作业
- 第四周算法概论作业——无向图的DFS算法
- Java数据结构和算法(2)--《Java数据结构和算法》第二版 Robert lafore编程作业第二章
- 3.26日第六次作业,第10章质量,11章人力
- 算法第二周作业02
- 算法课第十二周作业 | Combination Sum III