展会信息港展会大全

VC经典算法:Gzip Zlib PNG 压缩算法,原始代码详细解说
来源:互联网   发布日期:2011-09-16 13:59:09   浏览:23623次  

导读: 话,我也愿意就我知道的内容进行更多的说明。 下面是几个问题 这种匹配算法,即用3个字节(最小匹配)来计算一个整数,是否比用串比较来得高效,高效到什么程度。 哈希函数的讨论。不同的三个字节,是否可能得到同一个ins_h。ins_h和计算它的三个字节的关系。 ...

话,我也愿意就我知道的内容进行更多的说明。

   下面是几个问题

   这种匹配算法,即用3个字节(最小匹配)来计算一个整数,是否比用串比较来得高效,高效到什么程度。

   哈希函数的讨论。不同的三个字节,是否可能得到同一个ins_h。ins_h和计算它的三个字节的关系。

   几次延迟尝试比较好?

   用延迟,两次尝试是否对压缩率的改善是非常有限的?

   影响lz77压缩率的因素。

   压缩的极限。

   2.3 ...

   3 gzip源码分析

   main() 中调用函数 treat_file() 。
   treat_file() 中打开文件,调用函数 zip()。注意这里的 work 的用法,这是一个函数指针。
   zip() 中输出gzip文件格式的头,调用 bi_init,ct_init,lm_init,
   其中在lm_init中将 head 初始化清0。初始化strstart为0。从文件中读入64KB的内容到window缓冲区中。
   由于计算strstart=0时的ins_h,需要0,1,2这三个字节和哈希函数发生关系,所以在lm_init中,预读0,1两个字节,并和哈希函数发生关系。

   然后lm_init调用 deflate()。
   deflate() gzip的LZ77的实现主要deflate()中。
   ...  

上一页  [1] [2] 

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港