根据霍夫曼编码主题,我听说过诸如压缩因子之类的东西,或者只是简单的压缩。我记得这个公式:
compression = ( Linput - Loutput ) / Linput
但是,这就是我所知道的全部,而且我找不到有关该公式的任何哪怕是最小的信息。
如果您看过此内容,这意味着什么? Linput 和 Loutput 变量是什么?这里的压缩是什么?
不要偷懒,我发现压缩与以不同方式制作霍夫曼树有关,因此我可以获得字母的不同码字长度。但实际上我只知道这些。
编辑。抱歉,我错误地将其标记为 c++。旧习难改:P
最佳答案
Linput 和 Loutput 是输入和输出数据的长度。您给出的公式通过将长度之差除以原始长度来计算压缩方法的有效性。
示例:当您将 100 字节的字符串缩减为 80 字节时,压缩系数为 (100-80)/100
= 20/100
= 0.2,其中数字越高越好。
关于algorithm - 霍夫曼码 - 压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16178598/