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

下表给出了英文字幕(包括用于分割单词的空格)在某文集的出现频率。

空格: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树为:

并的其Huffman编码为:

空格:111        r:0000       y:100110

e:010       d:10111        p:100101

t:1100       l:10110       b:100100

a:1010       c:00101       v:1101100

o:1000       u:00100       k:11011011

i:0111        m:110111       j:1101101010

n:0110       w:110101       x:1101101011

s:0011       f:110100       q:1101101000

h:0001       g:100111       z:1101101001


b:因为  (3*2+4*8+4*5+6*7+7*1+8*1+10*4)/275.740 

所以每个字母的编码平均需要6位。

c:比计算数值大,因为在计算熵的时候,结果基本都会出现小数,而在编码时,位数只能是整数,所以会比计算结果大。

d:我认为不是,还可以考虑英文中固定的前缀和后缀来压缩。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值