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

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)您是否认为这就是英文文本压缩的下线?除了字母及其出现频率,还有哪些英文本身的特征需要在文本压缩中被重点考虑?

资料:http://baike.baidu.com/link?url=ss1zCh5NPu7Au0yuOJkkMV9ITFcjwt5X5qNW3l_LDqoZFgz2Ybf5vNTp40V1vbUc

原理:


(a)最优哈弗曼编码

a 1011

b 100000
c 01001
d 11001
e 001
f 101000
g 100011
h 0001
i 0111
j 110000001
k 11000001
l 10101
m 11001
n 0110
o 1001
p 100001
q 11000000001
r 0000
s 0101
t 1101
u 01000
v 1100001
w 101001
x 1100000001
y 100010
z 11000000000
空格 111


(b)上面所有位相加=146

146/27=5.4位 取整6位。

(C) 熵值比平均位数大,公式中计算过程存在浮点数。

(d)应该不是吧,英文的语法不太清楚 大概就跟中文的‘的’一类的要考虑


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值