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