第四次作业

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

 解:(1)由于C(a)=1,C(b)=2,C(r)=3,C(t)=4,所以解码的结果如下:

序列

输出

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

ratatatatatbabratbatbabrat

 (2)ratatatatatbabratbatbabrat    t

 

解:

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

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


 

      索引                                         条目


      1                                               S


 

      2                                              *(空格)


 

      3                                              I


 

      4                                              T


 

      5                                              H


 

解码序列为T。

以此类推。解码的序列为:THIS IS HIS HIT    

原文地址:https://www.cnblogs.com/shihuiyun/p/4848523.html