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

题目

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

A.2

B.3

C.4

D.5


相似考题
更多“已知一个文件中出现的各字符及其对应的频率如下表所示。若采用定长编码,则该文件中字符的码长应为 ”相关问题
  • 第1题:

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

  • 第2题:

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

    A.native2ascii

    B.ascii2native

    C.RMI

    D.tnameser


    正确答案:A

  • 第3题:

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

    A.4

    B.5

    C.6

    D.7

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


    正确答案:A

  • 第4题:

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

    A.4

    B.5

    C.6

    D.7


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

  • 第5题:

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

    A.native2ascii

    B.ascii 2 native

    C.RMI

    D.tnameser


    正确答案:A
    解析:国际化命令只包含一个命令native2ascii,该命令将含有本机编码字符的文件,转换成Unicode编码字符的文件。

  • 第6题:

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

    A.c、e
    B.b、e
    C.b、f
    D.e、f

    答案:C
    解析:
    构造最优二叉树的哈夫曼算法如下。① 根据给定的n个权值{W1, W2,…,Wn}构成n棵二叉树的集合F= {T1,T2,…,Tn},其中每棵树Ti中只有一个带权为Wi的根结点,其左右子树均空。② 在F中选取两棵根结点的权值最小的树作为左右子树,构造一棵新的二叉树,置新构造二叉树的根结点的权值为其左、右子树根结点的权值之和。③从F中删除这两棵树,同时将新得到的二叉树加入到F中。重复②、③,直到F中只含一棵树时为止。这棵树便是最优二叉树(哈夫曼树)。从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上的分支数目称为路径长度。树的路径长度是从树根到每一个结点的路径长度之和。树的带权路径长度为树中所有叶子结点的带权路径长度之和。根据算法,那么最长的路径应该就是b、f。

  • 第7题:

    下表为某文件中字符的出现频率,采用霍夫曼编码对下列字符编码,则字符序列“bee”的编码为( )

    A.10111011101
    B.10111001100
    C.001100100
    D.110011011

    答案:A
    解析:
    110001001101 中:f(1100) a(0) c(100) e(1101)。

  • 第8题:

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

    A.01011011101
    B.10011011101
    C.10111011101
    D.010111101011

    答案:C
    解析:
    ① 有6个不同字母,需要采用3位二进制进行编码。② 本题对应的哈夫曼树如下所示:

  • 第9题:

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

    A.6
    B.5
    C.4
    D.3

    答案:D
    解析:
    ① 有6个不同字母,需要采用3位二进制进行编码。② 本题对应的哈夫曼树如下所示:

  • 第10题:

    在计算机中,通常将长度为()的位模式称为字节。ASCII码是表示西文字符的常用编码,使用()个字节表示一个符号,若已知字符“A”的ASCII码对应的十进制数为65,则“F”的ASCII码对应的十进制数值为()。


    正确答案:8;1;70

  • 第11题:

    以下关于星号(*)通配符说法不正确的是()。

    • A、在搜索文件或文件夹的时候,如果忘记一个或几个字符,可以把星号放在该字符的位置,可把要找的文件或文件夹搜索出来
    • B、如果知道文件名的开始的几个字符,而忘记了其余部分,可以将星号通配符放在开始的几个字符后边,代替遗忘部分。
    • C、只能代替文件夹中的一个字符
    • D、代替文件或文件夹中的一个乃至多个字符

    正确答案:C

  • 第12题:

    单选题
    下列选项中()不是问号(?)通配符的功能。
    A

    在不知道文件名某一个字符时,把问号放在该字符的位置

    B

    可把要找的文件或文件夹搜索出来

    C

    可以代替文件或文件夹中的一个乃至多个字符

    D

    只能代替文件名中的一个字符


    正确答案: C
    解析: 暂无解析

  • 第13题:

    下列给定程序中函数fun的功能是:逐个比较P.q所指两个字符串对应位置上的字符,并把ASCIl值大或相等的字符依次存放到C所指的数组中,形成一个新的字符串。

    例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“Abed”,则C中的字符串应为“aBcdeFgH”。请改正程序中的错误,使它能得出正确的结果。

    注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构!


    正确答案:
    (1)intk=0;(2)whffe(+pll+q)【考点分析】本题考查:变量初始化,需根据题意确定变量含义,然后对其进行初始化操作;while循环语句。【解题思路】(1)变量k存放数组c的下标,因此应初始化为0。(2)while循环语句的循环条件是判断两个字符串是否到达结尾。

  • 第14题:

    若电子邮件出现字符乱码现象,不能解决该问题方法是(70)。

    A.将文件加密传送

    B.以图片方式传输

    C.以附件方式传输

    D.改变字符编码标准


    正确答案:A
    解析:接收的电子邮件出现字符乱码现象,若是本地所使用的字符编码标准与发送方不一致,则通过改变字符编码标准便能解决该问题;或者让发送方将邮件内容以附件的方式重新发送也可能解决乱码问题;或者让发送方将邮件的内容制作成图片再次发送,也有可能解决乱码问题。但将邮件的内容加密后再发送,则一定不能解决该乱码问题。

  • 第15题:

    ?通配符和*的区别是什么( )

    A.?代替文件名中的多个字符

    B.*代替文件名中的一个字符

    C.*代替文件名中的多个字符

    D.?代替文件名中的一个字符


    正确答案:CD

  • 第16题:

    下表为某文件中字符的出现频率,采用霍夫曼编码对下列字符编码,则字符序列“bee”的编码为( 62 );编码::“110001001101”的对应的字符序列( 63 )

    A.10111011101

    B.10111001100

    C.001100100

    D.110011011


    正确答案:A

  • 第17题:

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

    A.110001001101
    B.001110110011
    C.101000010100
    D.010111101011

    答案:A
    解析:
    ① 有6个不同字母,需要采用3位二进制进行编码。
    ② Huffman编码,即哈夫曼静态编码,它对需要编码的数据进行两遍扫描:第一遍统计原数据中各字符出现的频率,利用得到的频率值创建哈夫曼树,并必须把树的信息保存起来,即把字符0~255(28=256)的频率值以2~4Bytes的长度顺序存储起来,(用4Bytes的长度存储频率值,频率值的表示范围为0~232-1,这已足够表示大文件中字符出现的频率了。)以便解压时创建同样的哈夫曼树进行解压;第二遍则根据第一遍扫描得到的哈夫曼树进行编码,并把编码后得到的码字存储起来。

  • 第18题:

    已知一个文件中出现的各个字符及其对应的频率如下表所示。若采用定长编码,则该文件中字符的码长应为(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,这已足够表示大文件中字符出现的频率了。)以便解压时创建同样的哈夫曼树进行解压;第二遍则根据第一遍扫描得到的哈夫曼树进行编码,并把编码后得到的码字存储起来。

  • 第19题:

    下表为某文件中字符的出现频率,采用霍夫曼编码对下列字符编码,编码“110001001101”的对应的字符序列为( )。

    A.bad
    B.bee
    C.face
    D.bace

    答案:C
    解析:
    110001001101 中:f(1100) a(0) c(100) e(1101)。

  • 第20题:

    已知某文档包含5个字符。每个字符出现的频率如下表所示。采用霍夫曼编码对该文档压缩存储,则单词“cade”的编码为(请作答此空),文档的压缩比为( )

    A.1110110101
    B.1100111101
    C.1110110100
    D.1100111100

    答案:A
    解析:
    根据题意构造哈夫曼树如下。

    a的编码:0,b的编码100,c的编码111,d的编码110,e的编码:101。单词“cade”的编码就是“1110110101”。

  • 第21题:

    已知某文档包含5个字符。每个字符出现的频率如下表所示。采用霍夫曼编码对该文档压缩存储,则单词“cade”的编码为( ),文档的压缩比为(请作答此空)

    A.20%
    B.25%
    C.27%
    D.30%

    答案:B
    解析:
    压缩前,属于定长编码,每个字符用3位编码,压缩后编码长度是:1*40%+3*10%+3*20%+3*16%+3*14%=2.2,压缩率:(3-2.2)/3=27%

  • 第22题:

    下列选项中()不是问号(?)通配符的功能。

    • A、在不知道文件名某一个字符时,把问号放在该字符的位置
    • B、可把要找的文件或文件夹搜索出来
    • C、可以代替文件或文件夹中的一个乃至多个字符
    • D、只能代替文件名中的一个字符

    正确答案:C

  • 第23题:

    填空题
    在计算机中,通常将长度为()的位模式称为字节。ASCII码是表示西文字符的常用编码,使用()个字节表示一个符号,若已知字符“A”的ASCII码对应的十进制数为65,则“F”的ASCII码对应的十进制数值为()。

    正确答案: 8,1,70
    解析: 暂无解析