Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 哈夫曼码压缩_Algorithm - Fatal编程技术网

Algorithm 哈夫曼码压缩

Algorithm 哈夫曼码压缩,algorithm,Algorithm,根据哈夫曼编码主题,我听说过压缩因子之类的东西,或者只是简单的压缩。我记得公式: compression = ( Linput - Loutput ) / Linput 然而,这就是我所知道的,我找不到任何关于这个公式的最小信息 如果你看过这个,那是什么意思?Linput和Loutput变量是什么?这里的压缩是什么 为了不偷懒,我发现压缩与以不同的方式生成哈夫曼树有关,因此我可以为字母获得不同的码字长度。但事实上我只知道这些 编辑。对不起,我把它标记为C++错误。旧习惯难以改变:PLinput

根据哈夫曼编码主题,我听说过压缩因子之类的东西,或者只是简单的压缩。我记得公式:

compression = ( Linput - Loutput ) / Linput
然而,这就是我所知道的,我找不到任何关于这个公式的最小信息

如果你看过这个,那是什么意思?Linput和Loutput变量是什么?这里的压缩是什么

为了不偷懒,我发现压缩与以不同的方式生成哈夫曼树有关,因此我可以为字母获得不同的码字长度。但事实上我只知道这些


编辑。对不起,我把它标记为C++错误。旧习惯难以改变:P

Linput和Loutput是输入和输出数据的长度。您给出的公式通过将长度差除以原始长度来计算压缩方法的有效性


示例:当您将100字节的字符串减少到80字节时,压缩系数为
(100-80)/100
=
20/100
=0.2,其中数字越大越好。

该公式适用于一般的压缩算法,而不仅仅是哈夫曼编码。感谢,但特别是哈夫曼代码-输入字符串包含纯字母,但是输出字符串是一个二进制代码-我如何比较它?@user2252786:“普通字母”和“二进制代码”都使用一定数量的字节。您只需确定输入的大小(以字节为单位)和输出的大小(仍以字节为单位),然后应用公式。