algorithm - 霍夫曼最小方差编码

标签 algorithm compression proof huffman-code

众所周知,具有最小方差的霍夫曼编码是更可取的。 我翻遍了整个波兰/英语互联网,这就是我发现的: 要构建具有最小方差的霍夫曼代码,您需要使用以下方法之一打破联系(当然节点的概率是最重要的):

  • 选择代表最短树的节点
  • 选择最早创建的节点(将叶子视为在开始时创建)。

问题是,我找不到任何这些方法正确性的证据。 有人可以证明这些吗?

我很乐意澄清任何事情。

最佳答案

有些系统的约束比 “当出现平局时,做出使树的最大深度最小化的选择”—— 他们对树的最大深度设置了硬性限制( length-limited, also called minimum variance Huffman coding ):

我的理解是人们开发了几个heuristic algorithms for limiting Huffman codeword lengths工作正常,但是 heuristics don't always give exactly the best possible compression .

有几个人提到“最佳长度限制的霍夫曼代码”,显然存在不止一种算法来找到它们:

关于algorithm - 霍夫曼最小方差编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14677612/

相关文章:

algorithm - 最小化两个数组的绝对差之和

algorithm - 如何用归纳法证明两条边对应的抛物线至多相交2点?

javascript - 计算2个句子之间的相似度

java - 星期功能不起作用

arrays - 使用基本操作的解决方案查找算法

c# - 为 QueryString 压缩大约 1000 字节的文本

coq - Coq 中不相等的继承者

algorithm - 使用投影的最佳排序算法

javascript - 括号表示法可以用来压缩/混淆 JavaScript 吗?

compression - Sequitur算法的Python实现?