已知一个文件中出现的各个字符及其对应的频率如下表所示。若采用定长编码,则该文件中字符的码长应为(64)。若采用Huffman编码,则字符序列“face”的编码应为(65)。

题目
已知一个文件中出现的各个字符及其对应的频率如下表所示。若采用定长编码,则该文件中字符的码长应为(64)。若采用Huffman编码,则字符序列“face”的编码应为(65)。


A.2
B.3
C.4
D.5
参考答案和解析
答案:B
解析:
①有6个不同字母,需要采用3位二进制进行编码。
②哈夫曼静态编码:它对需要编码的数据进行两遍扫描:第一遍统计原数据中各字符出现的频率,利用得到的频率值创建哈夫曼树,并必须把树的信息保存起来,即把字符0~255(28=256)的频率值以2~4BYTES的长度顺序存储起来,(用4Bytes的长度存储频率值,频率值的表示范围为0~232-1,这已足够表示大文件中字符出现的频率了。)以便解压时创建同样的哈夫曼树进行解压;第二遍则根据第一遍扫描得到的哈夫曼树进行编码,并把编码后得到的码字存储起来。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

关于编码有下述说法:

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

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

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

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

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

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

其中正确的是(13)。

A.①③④⑥

B.②④⑥

C.②③④⑥

D.①④⑥


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

第2题:

约定在字符编码的传送中采用偶校验,若接收到代码11010010,则表明传送中( )。

A.未出现错误

B.出现奇数位错

C.出现偶数位错

D.最高位出错


正确答案:A

第3题:

● 已知某字符的编码为“0100101” ,若最高位增加一个偶校验位,则其编码变为 (9) 。

(9)

A. 10100101

B. 11001010

C. 01000110

D. 01010101


正确答案:A

第4题:

已知某字符的编码为“0100101”,若最高位增加一个偶校验位,则其编码变为______。

A.10100101

B.11001010

C.01000110

D.01010101


正确答案:A
解析:偶校验是指数据编码(包括校验位)中“1”的个数应该是偶数。因此,若除去校验位,编码中“1”的个数是奇数时,校验位应设置为1;否则,校验位应设置为0。本题“0100101”中有3个“1”,所以最高位增加一个偶校验位后为“10100101”。

第5题:

约定在字符编码的传送中采用偶校验,若接收到代码11010010,则表明传送( )。

A.未出现错误

B.出现奇数位错

C.出现偶数位错

D.最高位出错


正确答案:A

第6题:

霍夫曼编码将频繁出现的字符采用短编码,出现频率较低的字符采用长编码。具体的操作过程为: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%。

第7题:

国际化命令中,下列哪个命令将含有本机编码字符的文件转换成Unicode编码字符的文件? ( )

A.native2ascii

B.ascii2native

C.RMI

D.tnameser


正确答案:A

第8题:

已知某字符的编码为0100101,若最高位增加一个偶校验位,则其编码变为(2)。

A.10100101

B.11001010

C.1000110

D.1010101


正确答案:A
解析:本题考查数据编码和校验基础知识。偶校验是指数据编码(包括校验位)中1的个数应该是偶数。因此,若除去校验位,若编码中1的个数是奇数时,校验位应设置为1;否则,校验位应设置为0。本题0100101中有3个1,所以最高位增加一个偶校验位后为10100101。

第9题:

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

A.4

B.5

C.6

D.7

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


正确答案:A

第10题:

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

A.4

B.5

C.6

D.7


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

更多相关问题