5种压缩算法的JAVA源码:字典算法、串表压缩算法、霍夫曼压缩算法、滑动窗口算法、数据压缩算法
参加了编程大赛,实现对文件的压缩,本人选择了java实现。 通过大量的知识资源搜索,总结自己了解的五种压缩算法:LZSS(字典算法)、LZW(串表压缩算法)、Hfm(霍夫曼压算法)、LZ77(滑动窗口算法)、LZAM(数据压缩算法)。 有兴趣的同学自己百度一下各种算法实现原理。 自己本地项目把5种算法都跑了起来(idea工具,jkd1.8,解压直接可用),对.png图片文件和2个txt大文件进行压缩和解压,得到的压缩率如下(LZAM压缩算法最优,是7Z压缩使用的算法): png图片 txt文件1 txt文件2 LZSS(字典算法) 0.8803 0.5046 0.5468 LZW(串表压缩算法) 0.8677 0.48 0.653 Hfm(霍夫曼压缩算法) 0.7309 0.5672 0.7233 LZ77(滑动窗口算法) 4.091 2.5476 2.9278 LZAM(数据压缩算法) 0.573 0.285 0.319