霍夫曼代码:Fibonacci频率的最短和最长代码

时间:2014-01-07 15:13:06

标签: algorithm huffman-code

对于具有斐波那契频率的n个字符,最短代码的长度和最长的霍夫曼代码是多少?

根据我的理解 - 如果我们构建一棵树,它将看起来像一个分支,每个长度为1的节点从根到最低叶子悬挂。当我们从n-2个数字中创建第一个节点时,该节点的频率将是F [n] -1,并且F [n]> F [n] -1> F [n-1]。 (F [n-1]是剩余的最少,F [n]将是剩余的第二少),通过归纳,将适用于所有频率。

我们创建的树显然是一棵不平衡的树,我认为它不好。

如果这是创建树的最佳方式,那么创建树的最长方法的长度是多少?如果它不是最佳方式,那么最短路径的长度是多少?

我是计算机科学的新手,我真的很感激一个很好的解释。

1 个答案:

答案 0 :(得分:1)

最短的代码是长度 1 ,最长的代码是长度 n-1 。将有两个长度为 n-1 的符号,并且 1..n-2 中的每个长度都有一个符号。

只有一棵最佳树,就是这样。它不平衡没什么不好的。事实上, 是使用最少数量的比特来编码那些具有这些频率的符号的方式。

我不知道你用“最短”或“最长”的方式是什么意思。