基于Huffman和LZ77压缩(三)LZ77思路分析

Huffman压缩详细分析

LZ77: 基于重复语句的压缩

1 什么是LZ77

1977年两个以色列人提出的基于重复语句上的通用的压缩算法--------将重复语句替换成更短的<长度, 距离, 下个字符串首字母>对的方式。 真正的LZ77用的是一个三元组(长度距离对 + 下一个语句的首字母 )

在这里插入图片描述

为什么叫基LZ77算法的压缩?

上边介绍了 原LZ77 的处理方式:
<长度, 距离, 下个字符串首字母> 三字节

我们发现:下个字符串的首字母对压缩目的来说没什么帮助,放大看却占了很多空间,因此 我们采用<长度, 距离>的方式

长度距离对 我们仍采用三个字节
长度 :1字节表示
距离 :2字节表示

实现思想:

要压缩文件,必然需要将待压缩文件读到程序的缓冲区中,因此我们需要在程序中维护一段缓冲区

LZ77 :缓冲区的大小 :64K
那么我们也用64K

我们将缓冲区等分为两部分:

查找缓冲区32K:

       1  存放已经压缩完成的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值