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。对解码所得到的序列进行编码,确保得到相同的三元组序列。
解:由题意,先行缓冲区的大小为10,解码过程如下
<0,0,3> |r
|r|
<0,0,1> |r|a
|ra|
<0,0,4> |ra|t
|rat|
<2,8,2> |rat|atatatp
|ratatatatp|
<3,1,2> |ratatatatp|ap
ra|tatatatpap|
<0,0,3> ra|tatatatpap|r
rat|atatatpapr|
<6,4,4> rat|atatatpapr|atpat
ratatata|tbapratpat|
<9,5,4> ratatata|tbapratpat|paprat
ratatatatpapra|tpatpaprat|
所以最后解码得:ratatatatpapratpatpaprat
下面是进行编码过程:
序列为ratatatatpapratpatpaprat,对其进行编码
|ratatatatp|apratpatpaprat <0,0,3>
r|atatatatba|bratbatbabrat <0,0,1>
ra|tatatatbab|ratbatbabrat <0,0,4>
rat|atatatbabr|atbatbabrat <2,8,2>
|ratatatatb|abratbatbabrat <3,1,2>
ra|tatatatbab|ratbatbabrat <0,0,3>
rat|atatatbabr|atbatbabrat <6,4,4>
ratatata|tbabratbat|babrat <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
解码如下:
索引
条目
输出
1
S
2
_
3
I
4
T
5
H
6
TH
4
7
HI
5
8
IS
3
9
S_
1
10
_I
2
11
IS_
8
12
_H
2
13
HIS
7
14
S_H
9
15
HIT
7
4
所以解码后的序列为:THIS_IS_HIS_HIT
转载于:https://www.cnblogs.com/fenghaojiao/p/4837465.html
