Skip to content
forked from haogukki/compress

基于 哈夫曼编码、Lz77算法的文件压缩项目,支持文件夹递归压缩

Notifications You must be signed in to change notification settings

BiN214/compress

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

文件压缩

项目描述

  • 使用哈夫曼编码实现的哈夫曼压缩
  • 使用 lz77 算法实现的 lz77 压缩

遇到的问题

  • 为什么图片、pdf 经算法压缩后文件相较于源文件大,而文本文档则会变小

测试

哈夫曼压缩测试(txt、png、pdf)

  • 文件大小 37M,压缩后 16M,压缩时间 40.04 s,解压缩时间 7.69 s
  • 文件大小 47M,压缩后 20M,压缩时间 49.10 s,解压缩时间 8.97 s
  • 文件大小 20K,压缩后 19K,压缩时间 0.08 s,解压缩时间 0.02 s
  • 文件大小 72K,压缩后 71K,压缩时间 0.2 s,解压缩时间 0.04 s
  • 文件大小 74M,压缩后 73M,压缩时间 146.21 s,解压缩时间 23.47 s

Lz77 压缩测试(分别为 txt、png、pdf)

  • 文件大小 37M,压缩后 34M,压缩时间 80.00 s,解压缩时间 26.28 s
  • 文件大小 47M,压缩后 44M,压缩时间 100.45 s,解压缩时间 32.43 s
  • 文件大小 42M,压缩后 39M,压缩时间 89.12 s,解压缩时间 29.39 s
  • 文件大小 20K,压缩后 20K,压缩时间 0.40 是,解压缩时间 0.00 s
  • 文件大小 72K,压缩后 80K,压缩时间 3.25 s,解压缩时间 0.00 s
  • 文件大小 1.2M,压缩后 1.4M,压缩时间 49.66 s,解压缩时间 0.11 s

About

基于 哈夫曼编码、Lz77算法的文件压缩项目,支持文件夹递归压缩

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 94.4%
  • Shell 3.9%
  • Makefile 1.7%