这几天写了个LZW压缩算法
来源:互联网 发布:淘宝天猫2015双十一 编辑:程序博客网 时间:2024/06/05 17:54
之前看了一下gif的文件格式,看到里面的数据块都是用lzw算法压缩的。
所以就按照里面描述的算法自己实现了一个,用了3天时间,现在注意力不集中,而且代码实现的速度也很慢。
第一天,读懂算法,并编写了压缩函数,经纸笔检查,对小数据量和手工计算的编码是一致的。
第二天,编写部分解压函数,玩游戏总分心,没弄完。
第三天,编写解压函数,查找各种bug;在调通以后,发现当遇到大文件的情况,索引表满了时还需要重新初始化,又进行了修改,终于弄好了。
压缩,然后解压,看着生成内容和原文件无差别,心里那个高兴啊。
然而试了一下gif,让我彻底崩溃,压缩后的文件比之前还大。不过因为gif是压缩过的,而我的代码里只是机械的按照lzw算法描述做的,没有优化。
后来对比了一下和tar命令的差异。
原文件是11485374字节大小的bmp
我的lzwtar cjvftar czvf耗时real 0m4.876suser 0m4.824s
sys 0m0.040sreal 0m2.427s
user 0m2.344s
sys 0m0.080sreal 0m0.263s
user 0m0.244s
sys 0m0.012s压缩后大小1484150481280904640
时间和空间都完败,真是“无颜见爹娘”啊。
继续努力!
- 这几天写了个LZW压缩算法
- 这几天写了个项目申请书
- LZW压缩算法
- lzw压缩算法
- lzw 压缩算法源代码
- LZW压缩算法源代码
- lzw图像压缩算法
- LZW 压缩算法
- 压缩算法-LZW
- LZW压缩算法
- LZW压缩算法
- LZW压缩算法
- LZW压缩算法
- LZW压缩算法
- LZW压缩算法
- LZW算法压缩和解压缩
- LZW压缩算法js版
- 关于LZW压缩算法[转]
- Local Service Sample & Remote Messenger Service Sample
- GCC精彩之旅
- 后台的验证码不显示本地正常
- GCC Inline ASM GCC内联汇编
- GCC编译的背后( 预处理和编译 汇编和链接 )
- 这几天写了个LZW压缩算法
- gcc教程(转)
- 浏览器闪动效果(标题+内容)
- gcc 使用教程
- 寄存器&内存
- GCC for Win32开发环境介绍
- 插入排序
- set ; get
- AT&T汇编语言与GCC内嵌汇编简介