话,我也愿意就我知道的内容进行更多的说明。
下面是几个问题
这种匹配算法,即用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]