北京邮电大学实验报告
题目:LZ78压缩编码与译码
专业:信息工程
小组成员(学号):
赵乙麟(2011210714)
周丽玲(2011210715)
马睿超(2011210691)
一、实验目的与任务
熟悉LZ编码的基本思想,运用LZ算法编写具体程序,实现文本的无损数据压缩与解压缩,明白其中字典建立的过程是整个编码的核心。
实验环境
MATLAB
三、实验流程
编码算法:
步骤1: 在开始时,词典和当前前缀P 都是空的。
步骤2: 当前字符Char :=字符流中的下一个字符。
步骤3: 判断P+Char是否在词典中:
(1) 如果"是":用Char扩展P,让P := P+Char ;
(2) 如果"否":
① 输出与当前前缀P相对应的码字和当前字符Char;
② 把字符串P+Char 添加到词典中。
③ 令P :=空值。
(3) 判断字符流中是否还有字符需要编码
① 如果"是":返回到步骤2。
② 如果"否":若当前前缀P不空,输出相应于当前前缀P的码字,结束编码。
流程图如下:
2、译码算法:
步骤1:在开始时词典为空;
步骤2:当前码字W:=