2018 数据结构 哈夫曼树 选择题
第 5 题

已知字符集{a, b, c, d, e, f},若各字符出现的次数分别为 6, 3, 8, 2, 10, 4,则对应字符集中各字符的哈夫曼编码可能是( )。

哈夫曼树

A. 00, 1011, 01, 1010, 11, 100 B. 00, 100, 110, 000, 0010, 01 C. 10, 1011, 11, 0011, 00, 010 D. 0011, 10, 11, 0010, 01, 000

[tag_link]

正确答案:A

构造一棵符合题意的哈夫曼树,如下图所示。

2016_Q45_15

由此可知,左子树为 0, 右子树为 1, 故答案为 A。这题也可以 使用排除法,因为哈夫曼编码是前缀编码,所以任意编码都不能是另一个编码的前缀,根据这一点可以排除掉 B、C 选项。D 选项也是错误的,因为字符 e 的出现次数为 10 很高,它不能哈夫曼编码长度最短,这不合理。