第四次作业

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

     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,3>

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

答:对该序列进行解码得ratatatatatbabratbatbabrar,具体解码过程如下表:

序列 输出
<0,0,3> r
<0,0,1> ra
<0,0,4> rat
<2,8,2> ratatatatatb
<3,1,2> ratatatatatbab
<0,0,3> ratatatatatbabr
<6,4,4> ratatatatatbabratbat
<9,5,3>

ratatatatatbabratbatbabrar

(2)由于窗口的大小为20,先行缓冲区的大小为10,所以编码如下:

输入ratatatatatbabratbatbabrat

输入 输出
||ratatatatatbabratbatbabrat  <0,0,3>
 |r|atatatatatbabratbatbabrat  <0,0,1>
|ra|tatatatatbabratbatbabrat  <0,0,4>
 |rat|atatatatbabratbatbabrat   <2,8,2>
  ra|tatatatatb|abratbatbabrat  <3,1,2>
  rata|tatatatbab|ratbatbabrat   <0,0,3>
  ratat|atatatbabr|atbatbabrat  <6,4,4>
 ratatatata|tbabratbat|babrat   <9,5,4>

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

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

       初始词典:

                          

答:对序列4,5,3,1,2,8,7,9,7,4进行解码,根据LZW词典方法,可构建如下图所示的词典:

                                                     

      所以就有序列4,5,3,1,2,8,7,9,7,4解码:

                  THIS IS HIS HIT。

原文地址:https://www.cnblogs.com/zhoujingang/p/4837397.html