首页 > 试题广场 >

a,b,c,d,e对应出现的频率为4,6,11,13,15;

[单选题]
 a,b,c,d,e 对应出现的频率为4,6,11,13,15;以下符合哈夫曼编码的选项是?() 
  • a=000、b=01、c=001、d=10、e=11
  • a=000、b=001、c=01、d=10、e=11
  • a=010、b=001、c=01、d=11、e=10
  • a=000、b=10、c=001、d=11、e=01

哈夫曼编码

  • 哈夫曼编码的目的就是数据压缩,加密解密,将出现频率低的放在二叉树的靠最下面的层,从而使频率高的能被更快的找到,实现数据压缩的功能
  • 主要的编码过程是:
  • 1.由于题目中这个频率是排好序的,可以看做有序序列。先取两个最小(a,b)作为一个新结点n1的两个子结点,相对较小的是左孩子,新结点的频率就是a,b两个频率的相加,即4+6=10;然后将新结点n1替换a,b插入有序序列,整个就是{n1,c,d,e};
  • 然后再取最小的两个结点(n1,c),产生的新结点n2的频率为10+11=21,继续替换n1,c插入有序序列,整个就是{d,e,n2};
  • 然后再取最小的两个结点(d,e),产生的新结点n3的频率为13+15=28,继续替换d,e插入有序序列,序列就剩2个结点,小的作为左结点,大的是右节点,共同指向根结点T,最后哈夫曼树就可画出来了。
    图片说明
  • 最后将左分支改为0,右分支改为1,哈夫曼编码就是从树根到叶子所经过的0和1组成的,从这里可以看出,a的频率最低,出现在最低层的叶子结点,达到数据压缩的目的
    图片说明
  • 本人基础有所欠缺,如有解释不对的地方,望指出,谢谢!
编辑于 2020-06-03 11:12:46 回复(7)