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

a: 哈夫曼树如下

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

哈夫曼编码为:

空格:000
e:101

t:0011
a:0101
o:0111
i:1000
n:1001
s:1111
h:1101
r:1100

d:01000
l:01001
c:11100
u:11101

m:001010
w:001000
f:001001
g:011011
y:011010
p:011000
b:011001

v:0010111

k:00101101

j:0010110010
x:0010110011
q:0010110000
z:0010110001

b.由a可得:(3*2+4*8+5*4+6*7+7+8+10*4)/27≈5.74,即每个字母的编码平均需要6位。

c.熵约为5.74,结果肯定比熵要大,因为在计算熵的时候允许有小数个比特,而实际上每个字符的编码长度都必需为整数。

d.我不认为这就是英文文本压缩的下限。除了字母及其出现的频率,还可以重点考虑单词的前缀,后缀,或者整个单词。

你可能感兴趣的:(算法)