![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
文件压缩
aYang^
这个作者很懒,什么都没留下…
展开
-
基于Huffman 和 LZ77的文件压缩(五)收尾
GZIP :对LZ77 的压缩结果再压缩,效率就不怎么好了。能否采用Huff曼的方式直接对LZ77结果再压缩?**可以 ,但压缩率可能不是很好;1 Huffman缺陷 :需要创建哈夫曼树,可能会很大2 LZ77的标记信息也会参与Huffman压缩,因此,影响压缩率。3 树大的话,内存可能压力比较大。假设文件中含有200个不同种类的字节,那么 总节点将是叶子结点200 +临时父亲...原创 2020-03-27 20:44:18 · 1815 阅读 · 0 评论 -
基于Huffman 和LZ77的压缩(二)Huffman压缩的实现
遇到的问题:出现问题 : 将出现0次的节点也加入到了Huffman树中:没有意义呀原因:将创建Huffman树期间要将出现0次的结点过滤掉问题:写入文件时,要是一个字节写哈夫曼编码时,将编码分为两半,会影响吗?问题 解压缩呢? 只拿着压缩数据没法解压缩呀-------么有Huffman 树呀压缩文件:需要:1原文件后缀,以后好还原2 编码的行数。3 (编码)字符及出现次数...原创 2020-03-21 11:47:35 · 2058 阅读 · 0 评论 -
基于Huffman和LZ77的压缩(四)LZ77压缩原理分析
上一篇分析中,我们遇到了两个问题:问题1: 64K的哈希表必然存在哈希冲突问题2: 大于64K的文件仍无法进行压缩下面我们来接着探索分析:为什么给32K的查找缓冲区Head?为什么给32K个位置,理论计算为 2^24个才能计算完这些组合呀,那这样必然存在哈希冲突,那么LZ77怎么解决冲突?我们先不考虑大于64K的文件将哈希表分为2部分 Prev和HeadPrev空间专门解决哈希冲突...原创 2020-03-20 10:46:35 · 1955 阅读 · 0 评论 -
基于Huffman和LZ77压缩(三)LZ77思路分析
LZ77: 基于重复语句的压缩1 什么是LZ771977年两个以色列人提出的基于重复语句上的通用的压缩算法--------将重复语句替换成更短的<长度, 距离, 下个字符串首字母>对的方式。 真正的LZ77用的是一个三元组(长度距离对 + 下一个语句的首字母 )为什么叫基LZ77算法的压缩?上边介绍了 原LZ77 的处理方式:<长度, 距离, 下个字符串首字母&g...原创 2020-03-20 09:24:52 · 2474 阅读 · 0 评论 -
基于Huffman和LZ77的文件压缩(一)Huffman压缩
1 为什么要压缩?1 文件太大,压缩可以节省空间2 提高文件在网络上的传输效率3 压缩可以形成一定程度上的加密。(即防止被恶意抓包,对方不知道你的压缩算法)2 文件压缩的分类1 有损压缩2 无损压缩无损压缩: 通过解压之后 能形成和源代码一木一样的压缩方式。有损: 解压缩之后和源文件格式不完全相同,但基本不影响。例如 视频的清晰度。压缩 :通过一些算法来达到目的...原创 2020-03-19 20:08:19 · 2430 阅读 · 0 评论