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。对解码所得到的序列进行编码,确保得到相同的三元组序列。

 解:

根据题意知:窗口大小为20,前向缓冲区大小为10,搜索窗口大小10。 
C(a) = 1, C( _空格) = 2, C(r) = 3, C(t) = 4 

说明2的编码表示空格用下划线"_"

下面编码过程中,最后面含有空格的用下划线"_"表示。

输入 输出
<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, 4>   ratatatatat a rat at a rat

 

编码过程:输入序列:ratatatatat a rat at a rat

接下来继续编码:

输入 输出
 ||ratatatatat a rat at a rat <0, 0, 3> 
 |r|atatatatat a rat at a rat <0, 0, 1>
 |ra|tatatatat a rat at a rat   <0, 0, 4> 
|rat|atatatat a rat at a rat <2, 8, 2> 
 ra|tatatatat |a rat at a rat <3, 1, 2>
rata|tatatat a |rat at a rat   <0, 0, 3> 
 ratat|atatat a r|at at a rat   <6, 4, 4>  
ratatatata|t a rat at| a rat <9, 5, 4>  

 

 

根据这2个过程得出:编码输出的三元组与解码输入的三元组完全一样。

 

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

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

初始字典:

索引
1 S
2  
3 I
4 T
5 H

 

 

解:

对接收序列:4,5,3,1,2,8,2,7,9,7,4进行编码,得到如下结果:

说明2的编码表示空格用下划线"_"

(1)输入4,5,3,1,2,8,2,7,9,7,4

索引 条目
1 S
2          _(空格)
3 I
4 T
5 H

     

                      

    

 

 

 

该数解码的序列为:T

(2)输入4,5,3,1,2,8,2,7,9,7,4

索引 条目
1 S
2        (空格)
3 I
4 T
5 H

 

                     

 

 

 

 

该数解码的序列为:TH

(3)输入4,5,3,1,2,8,2,7,9,7,4

索引 条目
1 S
2          _(空格)
3 I
4 T
5 H
6 TH

 

                 

 

 

 

 

该数解码的序列为:THI

(4)输入4,5,3,1,2,8,2,7,9,7,4

索引 条目
1 S
2        _ (空格)
3 I
4 T
5 H
6 TH
7 HI

 

                        

 

 

 

 

 

该数解码的序列为:THIS

(5)输入4,5,3,1,2,8,2,7,9,7,4

索引 条目
1 S
2           _ (空格)
3 I
4 T
5 H
6 TH
7 HI
8 IS

 

                           

 

 

 

 

 

 

该数解码的序列为:THIS_

(6)输入4,5,3,1,2,8,2,7,9,7,4

索引 条目
1 S
2 _ (空格)
3 I
4 T
5 H
6 TH
7 HI
8 IS
9 S_

 

                             

 

 

 

 

 

 

 

该数解码的序列为:THIS IS 

(7)输入4,5,3,1,2,8,2,7,9,7,4

索引 条目
1 S
2 _ (空格)
3 I
4 T
5 H
6 TH
7 HI
8 IS
9 S_
10 _I

 

                             

 

 

 

 

 

 

 

 

该数解码的序列为:THIS IS_

(8)输入4,5,3,1,2,8,2,7,9,7,4

索引 条目
1 S
2 _ (空格)
3 I
4 T
5 H
6 TH
7 HI
8 IS
9 S_
10 _I
11 IS_

 

                            

 

 

 

 

 

 

 

 

 

该数解码的序列为:THIS IS HI

(9)输入4,5,3,1,2,8,2,7,9,7,4

索引 条目
1 S
2 _ (空格)
3 I
4 T
5 H
6 TH
7 HI
8 IS
9 S_
10 _I
11 IS_
12 _H

 

                                

 

 

 

 

 

 

 

 

 

该数解码的序列为:THIS IS HIS_

(10)输入4,5,3,1,2,8,2,7,9,7,4

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

 

                         

 

 

 

 

 

 

 

 

      

 

该数解码的序列为:THIS IS HIS HI

(11)输入4,5,3,1,2,8,2,7,9,7,4

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

 

                                 

 

 

 

 

 

 

 

 

 

 

 

该数解码的序列为:THIS IS HIS HIT    

最终的解码的序列为THIS IS HIS HIT