若有字符a,b,c,d,e,f,g,h的频度权值分别为(30,5,9,11,15,2,7,16),试为这组字符设计哈弗曼编码。

2025-05-09 04:12:06
推荐回答(1个)
回答1:

仔细看了一下,这里的图根编码不一致,最后2 5加起来的值是7 跟 7位置换一下
即部分左子树改为如下
95
/
59
/ \
29 30
/ \
14 15
/ \
7 7
/ \
2 5
这样,b就是00001, g是0001 f是000000

你上面的哈夫曼树(没有错,因为同样大小的权值点,没有规定谁左谁右),编码就是你说的b是00011 而不是00001,g就是0000