设有一份电文中共使用a、b、c、d、e、f这6个字符,它们的出现频率如下表所示,现通过构造哈夫曼树为这些字符编码。那么,编码长度最长的两个字符是( )。

题目
设有一份电文中共使用a、b、c、d、e、f这6个字符,它们的出现频率如下表所示,现通过构造哈夫曼树为这些字符编码。那么,编码长度最长的两个字符是( )。

A.c、e
B.b、e
C.b、f
D.e、f
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有一分电文共使用5个字符;a,b,c,d,e,它们的出现频率依次为 4、 7、 5、 2、9,试构造哈夫曼树,并给出每个字符的哈夫曼编码。


参考答案:

第2题:

给定5个字符a~f,它们的权值集合W={2,3,4,7,8,9},试构造关于W的一棵哈夫曼树,求其带权路径长度WPL和各个字符的哈夫曼树编码。


正确答案:

第3题:

已知一段文本有1382个字符,使用了1382个字节存储,这段文本全部是由a、b、c、d、e字符组成,a354次,b483次,c227次,d96次,e222次,对这5个字符使用哈夫曼编码。则以下说法不正确的是()

A.使用哈夫曼编码后,使用编码值来存储这段文本将花费最少的存储空间

B.使用哈夫曼编码后,abcde这5个字符对应的编码值是唯一确定的

C.使用哈夫曼编码后,abcde这5个字符对应的编码值可以有多套,但每个字符的编码位数是确定的

D.b这个字符的编码位数最短,d这个字符的哈夫曼编码位数应该最长


正确答案:B

第4题:

在哈夫曼编码中,若编码长度只允许小于等于4,则除了两个字符已编码为0和10外,还可以最多对______个字符编码。

A.4

B.5

C.6

D.7

请帮忙给出正确答案和分析,谢谢!


正确答案:A

第5题:

关于编码有下述说法:

①对字符集进行编码时,如果字符集中任一字符的编码都是其它字符的编码的前缀,则称这种编码称为前缀编码。

②对字符集进行编码时,要求字符集中任一字符的编码都不是其它字符的编码的后缀,这种编码称为后缀编码。

③不存在既是前缀编码又是后缀编码的编码。

④哈夫曼编码属于前缀编码。

⑤哈夫曼编码属于后缀编码。

⑥哈夫曼编码对应的哈夫曼树是正则二叉树。

其中正确的是(13)。

A.①③④⑥

B.②④⑥

C.②③④⑥

D.①④⑥


正确答案:B
解析:前缀编码要求字符集中任一字符的编码都不是其它字符的编码的前缀,类似地,后缀编码要求字符集中任一字符的编码都不是其它字符的编码的后缀。因此①是错误的,②是正确的。存在既是前缀编码又是后缀编码的编码,比如01、10、111,因此③是错的。哈夫曼编码属于前缀编码,其对应的哈夫曼树没有度为1的结点,因此哈夫曼树是正则二叉树。于是④、⑥正确,⑤错误。

第6题:

一份电文中有6种字符:A,B,C,D,E,F,它们的出现频率依次为16,5,9,3,30,1,完成问题: (1)设计一棵哈夫曼树;(画出其树结构) (2)计算其带权路径长度WPL;


参考答案:(1) (2)带权路径长度:WPL=30*1+16*2+9*3+5*4+(1+3)*5=30+32+27+20+20=129

第7题:

根据使用频率为5个字符设计的哈夫曼编码不可能是()。

A.0000010100111

B.00000001001011

C.000001011011

D.00100101110111


参考答案:D

第8题:

哈夫曼编码是一种最优的前缀码。对一个给定的字符集及其字符频率,其哈夫曼编码不一定是唯一的,但是每个字符的哈夫曼码的长度一定是唯一的。()

此题为判断题(对,错)。


答案:错

解析:哈夫曼码是唯一的,但长度可以重复。二叉树根节点到每个叶节点的最短路径是唯一的,但是完全可以有两个叶节点到根节点的距离相同。


第9题:

霍夫曼编码将频繁出现的字符采用短编码,出现频率较低的字符采用长编码。具体的操作过程为:i)以每个字符的出现频率作为关键字构建最小优先级队列;ii)取出关键字最小的两个结点生成子树,根节点的关键字为孩子节点关键字之和,并将根节点插入到最小优先级队列中,直至得到一颗最优编码树。霍夫曼编码方案是基于(64)策略的。用该方案对包含a到f六个字符的文件进行编码,文件包含100000个字符,每个字符的出现频率(用百分比表示)如下表所示,则与固定长度编码相比,

A.分治

B.贪心

C.动态规划

D.回溯


正确答案:B
根据题目对霍夫曼编码的描述,我们不难知道,每次都是选择当前最小的情况,这符合贪心算法总是找当前看来最优的情况,因此属于贪心策略。如果对包含100,000个字符,且这些字符都属于a到f。那么如果采用固定长度的编码,针对于每个字符需要3位来编码(因为有6个不同的字符,至少需要3位才能表示6种不同的变化)。那么对100000个字符编码,其编码长度为300000。如果采用霍夫曼编码,那么首先我们就要根据字符出现的频率构造出其霍夫曼树。首先选择出现频率最低的4和8,生成子树,其父节点为12,然后放入出现频率队列中,后面的采用同样的道理,以此类推。构造出的霍夫曼树如下图所示:由图可以知道,a的编码为00,b的编码为11,c的编码为0100,d的编码为0101,e的编码为011,f的编码为10。因此总的编码长度为(2*18%+2*32%+4*4%+4*8%+3*12%+2*26%)*100000=23600,因此节省的存储空间大小为30000-23600=6400。因此节省的存储空间为比例为6400/30000=21%。

第10题:

在霍夫曼编码中,若编码长度只允许小于等于4,则除了两个字符已编码为0和10外,还可以最多对______个字符编码。

A.4

B.5

C.6

D.7


正确答案:A
解析:根据霍夫曼编码的规则,任何一个编码以已存在的编码为前缀,现已有两个编码为0和10,则其他字符的编码前两位只能是11,前两位是11,且码长最多为4的编码最多只有4个:1100、1101、1110、1111。

更多相关问题