6.6哈夫曼算法能够大幅度提升压缩比率

      通过前面我们看到的图6-5的步骤2可以发现,在用枝条连接数据时,我们是从出现频率较低的数据开始的,这就意味着出现频率越低 的数据到达根部的枝条就越多。而枝条越多,编码的位数也就随之增多了。

      而从哈夫曼算法压缩过的文件中读取数据后,就会以位为单位对该数据进行排查,并与哈夫曼树进行比较看是否到达了目标编码,这就是为什么哈夫曼算法可以对数据进行区分的原因。

      哈夫曼算法的压缩比率。用图6-5得到的哈夫曼编码表示AAAAAABBCDDEEEEF,结果为0000000000001001001101011010101010101111,40位=5字节(这里不包含哈夫曼编码信息情况)。压缩前的数据是17字符=17字节,也就是说,我们惊奇地得到了5字节除以17字节=百分之29这样高的压缩率。表6-4将表6-1中的文件应用哈夫曼算法的LHA进行压缩后的结果。

 

posted @ 2023-02-12 18:42  原魏薯片  阅读(44)  评论(0)    收藏  举报