9 已知一段文本有1382个字符,使用了1382个字节进行存储,这段文本全部是由a、b、c、d、e这5个字符组成,a出现了354次,b出现了483次,c出现了227次,d出现了96次,e出现了232次,对这5个字符使用哈夫曼(Huffman)算法进行编码,则以下哪些说法正确(ABD) 正确答案: A C D 你的答案: B (错误)使用哈夫曼算法编码后,用编码值来存储这段文本将花费最少的存储空间 使用哈夫曼算法进行编码,a、b、c、d、e这5个字符对应的编码值是唯一确定的 使用哈夫曼算法进行编码,a、b、c、d、e这5个字符对应的编码值可以有多套,但每个字符编码的位(bit)数是确定的 b这个字符的哈夫曼编码值位数应该最短,d这个字符的哈夫曼编码值位数应该最长 A正确,Huffman树就是求最优解。可以有多套方案,但最终每套方案生成的编码长度都相同且都是最优解。 B错误,我们可以将左子树定为1右子树定为0也可以反之,不同的方案获得的编码值是不同的,但每个字符的编码长度是固定的。 C正确,不同的方案影响的只是通向节点的路径为0还是1,而不会影响Huffman树的层次结构 D正确,生成了Huffman树之后,我们就能看到,出现频率越高的节点越靠近根,深度越小即编码值尾数越短;出现频率越低的节点越远离根,深度越大即编码位数越长。 |
|
来自: 雪柳花明 > 《C 笔试 理论基础题 准备》