已知字符集{a, b, c, d, e, f, g, h},若各字符的哈夫曼编码依次是0100, 10, 0000, 0101, 001, 011, 11, 0001,则编码序列0100011001001011110101的译码结果是( )。
A. a c g a b f h
B. a d b a g b b
C. a f b e a g d
D. a f e e f g d
画出相应哈夫曼树对照即可
解答:
方法一:直接分割序列...
用户登录可进行刷题及查看答案
方法一:直接分割序列
哈夫曼编码是前缀编码,各个编码的前缀各不相同,因此直接拿编码序列与哈夫曼编码一一比对即可。序列可分割为0100 011 001 001 011 11 0101,译码结果是 a f e e f g d,D正确。
本题选D。
方法二:构造出哈夫曼树分割序列
当然,也可以构造出哈夫曼树,每次从根结点走到叶结点,输出对应字符。
序列可分割为0100 011 001 001 011 11 0101,译码结果是 a f e e f g d,D正确。
登录后提交答案