赵月  

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

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

      解:

序列 输出字符
<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  <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>

 

 

 

 

 

 

 

 

 

由上可知编码输出的三元组与解码输入的三元组完全一样。

 

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

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

         初始词典:

索引
1 S
2 P
3 I
4 T
5 H

 

 

 

 

 

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

所以输入序列为:4,5,3,1,2,8,2,7,9,7,4

posted on 2015-09-30 11:17  赵月  阅读(126)  评论(0编辑  收藏  举报