字符a 到 h 具有基于前 8 个斐波那契数的一组频率,如下所示
a : 1, b : 1, c : 2, d : 3, e : 5, f : 8, g : 13, h : 21/
使用霍夫曼码来表示字符。以下代码对应的字符序列是什么?
110111100111010
(一) fdheg
(二) ecgdf
(C) dchfg
(D)饲料答案:(一)
解释:
背景要求 – 使用霍夫曼编码生成前缀代码。
首先我们对字符的频率应用贪心算法来生成二叉树,如下图所示。左边缘赋值0,右边缘赋值1,字符的前缀代码如下
以下。
一个 – 1111110
b – 1111111
c – 111110
d – 11110
电子 – 1110
f – 110
克 – 10
小时 – 0
给定的字符串可以分解为
110 11110 0 1110 10
fdheg
此解决方案由Pranjul Ahuja贡献。
这个问题的测验