第六周作业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=
您认为该值会比以上的就算结果大还是小?为什么?
空格 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
- 第六周作业——利用哈夫曼编码英文字母表
- 第六周作业——利用哈夫曼编码英文字母表
- 第六周作业——利用哈夫曼编码英文字母表
- 第六周作业——利用哈夫曼编码英文字母表
- 第六周作业——利用哈夫曼编码英文字母表
- 第六周作业——利用哈夫曼编码英文字母表
- 第六周作业—利用哈夫曼编码英文字母表
- 第六周作业—利用哈夫曼编码英文字母表
- 第六周作业1 -- 利用哈夫曼编码英文字母表
- 第六周作业1 -- 利用哈夫曼编码英文字母表
- 第六周作业1--利用哈夫曼编码英文字母表
- 第六周作业1-利用哈夫曼编码英文字母表
- 第六周作业1------利用哈夫曼编码英文字母表
- 第六周作业1 -- 利用哈夫曼编码英文字母表
- 第六周作业1——利用哈夫曼编码英文字母表】
- 第六周作业1——利用哈夫曼编码英文字母表
- 第六周作业1——利用哈夫曼编码英文字母表
- 第六周作业1——利用哈夫曼编码英文字母表
- Mysql集群
- 又在起点
- windows下Eclipse+MinGW+Qt+c++配置安装解决方法
- 二叉查询树
- MPQ Storm库 源码分析 一
- 第六周作业1——利用哈夫曼编码英文字母表
- (二)第一个简单的程序-HelloWorld
- SVM分类器——部分概念总结
- 解密回文算法-栈
- SCRIPT5007:无法获取未定义或 null 引用的属性“parentNode”的解决办法
- android sqlite基础
- gcc/g++ -O 优化选项说明
- 24BITBMP位图的文件结构及创建
- jar 文件如何引用第三方jar包