首页 > 试题广场 > 对字符串“mabnmnm”的二进制进行哈夫曼编码有多少位(&
[单选题]
对字符串“mabnmnm”的二进制进行哈夫曼编码有多少位(      )
  • 12
  • 13
  • 14
  • 15
mabnmnm
频率 m:3/7 a:1/7 b:1/7 n:2/7(频率越高离根越近)
建树(o只占位,|表示0 ,\表示1):
            o
            |\ 
           m  o
                |\
               n  o
                    |\
                    a  b
由|,\转为0,1得:m->0,n->10,a->110,b->111
mabnmnm:0 110 111 10 0 10 0(共13位)
发表于 2018-12-29 18:38:36 回复(1)
m:3
n:2
a:1
b:1

先排好序: 1,1,2,3

哈夫曼树构造规则:每次形成新的节点都要放回去,再从其中选两个最小的构成一个新的节点。

因此,构造之后的各个字符的哈夫曼编码为:
m : 0            n : 10         a : 110          b : 111
所以,字符串mabnmnm 长度为13位
编辑于 2019-09-22 13:06:35 回复(0)
画出了霍夫曼树,怎么也想不出选项的数字是怎么来的。原来是根据霍夫曼树得到各个字母编码,然后将字符转化为编码,求总位数。
发表于 2019-09-04 09:30:48 回复(0)
发表于 2019-09-21 11:26:33 回复(0)