首页 > 试题广场 >

用二进制来编码字符串"adceadaa",需要能够相据编码,

[单选题]
用二进制来编码字符串"adceadaa",需要能够相据编码,解码回原来的字符串,则至少需要二进制字符的长度是()
  • 12
  • 14
  • 18
  • 20
发表于 2015-12-03 17:05:02 回复(7)
adceadaa
使用到了压缩的办法,其中a:4,d:2,c:1,e:1
编码为
a:1         
b:01
c:001
d:000
所以总共需要二进制位数=1*4+2*2+1*3+1*3=14
发表于 2015-10-16 13:59:26 回复(0)
炫头像
利用哈夫曼编码,字符出现的频率越大,则使用越短的二进制进行编码
编辑于 2016-01-10 14:10:09 回复(0)
哈夫曼编码,每种字符用一串二进制表示,出现频率越高表示位数越少。
发表于 2018-09-05 07:39:56 回复(0)
哈夫曼编码的实际应用
发表于 2021-06-17 16:26:47 回复(0)

构建哈夫曼树的基本步骤如下:

  1. 根据每个字符出现的频率,构建一个节点集合。
  2. 从节点集合中选取出现频率最低的两个节点作为左右子节点,以它们的频率之和作为父节点的频率,构建一颗新的二叉树。
  3. 将新构建的二叉树加入节点集合,并删除原来的两个子节点。
  4. 重复步骤2-3,直到节点集合中只剩下一个节点,即哈夫曼树的根节点。
step1      字符         频率 
                a               4
                d               2
                c               1
                e               1


发表于 2023-04-03 16:34:09 回复(0)
http://coolshell.cn/articles/7459.html
发表于 2017-02-20 17:32:42 回复(0)
要达到最短的二进制编码长度,要用哈夫曼编码。注意哈夫曼编码的方式方法。
发表于 2016-06-05 13:46:22 回复(0)
本来在考虑由哈夫曼树构造出来的哈夫曼编码是否存在二义性,原来哈夫曼编码就是最优前缀码,不存在这个问题,想多了呵呵!
发表于 2015-11-19 10:42:40 回复(0)
哈夫曼树求带权路径长度?
发表于 2023-04-23 12:47:26 回复(0)
哈夫曼树
发表于 2021-09-18 11:06:17 回复(0)
构建哈夫曼树,每次拿出最小频率的两个数作为节点连接起来,依次类推
a:4 d:2 c:1 e:1,根据频率构建哈夫曼树,先将c和e作为节点连接起来,他们的根节点(设为x)的值为2,d为剩下最小的节点,但是其值不小于x,则拿d和x连接起来,他们的根节点(设为y)值为4,同理,则拿a和y连接起来形成哈夫曼树。
编辑于 2020-09-01 15:52:35 回复(0)
哈夫曼的前缀码,实现多次出现(权重大),编码最小(压缩好)
发表于 2017-02-10 17:19:39 回复(0)
采用哈夫曼编码,构建最优二叉树
发表于 2016-07-27 20:14:15 回复(0)
算错了m(._.)m
发表于 2016-07-11 22:24:05 回复(0)
考查了哈夫曼树的构造方法,属于数据结构的内容
发表于 2016-03-30 10:07:15 回复(0)
霍夫曼编码
发表于 2015-10-17 12:39:08 回复(0)