第四次 作业

参考书《数据压缩导论(第4版)》  Page 121    7,8

7、使用LZ77算法对一个序列进行编码。给定C(a)=1,C(b)=2,C(r)=3,C(t)=5。对以下三组序列进行解码:

                         <0,0,3><0,0,1><0,0,4><2,8,2><3,1,2><0,0,3><6,4,4><9,5,4>

假定窗口的大小为20,先进性缓冲区的大小为10.对解码所得到的序列进行解码,确保得到相同的三元组序列。

 解:由题知:C(a)=1,C(_)=2,C(r)=3,C(t)=4,且搜素窗口大小为10

          说明:  "_"表示的是空格

输入 输出
<0,0,3>                  r                                                                                  
<0,0,1>  ra
<0,0,4>  rat
<2,8,2>  ratatatatat
<3,1,2>  ratatatatat a_
<0,0,3>  ratatatatat a r 
<6,4,4>  ratatatatat a rat at_  
<9,5,2>  ratatatatat a rat at a rat

        则编码的过程,我们输入的序列为: ratatatatat a rat at a rat

 

 

 

 

 

 

 

 

 

 

8、给定以下初始词典和接受序列,构建一个LZW词典,并对所发送的序列进行解码。

接收序列:4,5,3,1,2,8,2,7,9,7,4

初始词典:

 索  引       项  
         1       S
         2       b
         3        I
         4       T
         5       H

 

 

 

 

 

 

 

解:

初始词典:

             索  引       项  
1 S
2 b
3 I
4 T
5 H

 

 

 

 

 

 

 答:可知输入序列:4,5,3,1,2,8,2,7,9,7,4

 得到 

索引 条目 输出
1  S  
2  _(空格)  
3  I  
4  T  
5  H  
6  TH  4
7  HI  5
8  IS  3
9  S_   1
10  _IS  2
11  IS_  8
12  _H  2
13  HIS  7
14  S_H  9
15  HIT  7
     4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

输入4    得到序列:T 

输入5    得到序列:TH

输入3    得到序列:THI

输入1    得到序列:THIS

输入2    得到序列:THIS_

输入8    得到序列:THIS_IS

输入2    得到序列:THIS_IS_

输入7    得到序列: THIS_IS_HI

输入9    得到序列:THIS_IS_HIS_

输入7    得到序列:THIS_IS_HIS_HI

输入4    得到序列:THIS_IS_HIS_HIT

根据以上的输入的序列我们可得出输出序列编码为:THIS IS HIS HIT

 

posted @ 2015-09-25 10:26  陈倩  阅读(117)  评论(0)    收藏  举报