您的位置:首页 > 其它

第四次作业

2015-09-25 10:49 302 查看
1、 参考书《数据压缩导论(第4版)》 Page 121 7,8

7、使用LZ77算法对一个序列进行编码。给定C(a)=1,C(b)=2,C(c)=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)三组序列: <0,0,C(r)> <0,0,C(a)> <0,0,C(t)> <2,8,C(b)> <3,1,C(b)> <0,0,C(r)> <6,4,C(t)> <9,5,C(t)>

对<0,0,C(c)>解码得到序列为:r

对<0,0,C(a)>解码得到序列为:ra

对<0,0,C(t)>解码得到序列为:rat

对<2,8,C(b)> 解码得到序列为:ratatatatatb

对<3,1,C(b)> 解码得到序列为:ratatatatatbab

对<0,0,C(r)> 解码得到序列为:ratatatatatbabr

对<6,4,C(t)> 解码得到序列为:ratatatatatbabratbat

对<9,5,C(t)>解码得到序列为:ratatatatatbabratbatbabrat

(2)编码:由于窗口的大小为20,先进性缓冲区的大小为10,则编码缓冲区的大小为10

开始解码序列为:ratatatatatbabratbatbabrat

输入序列为: || ratatatatatbabratbatbabrat 没有与r匹配的项 则输出三元组为:<0,0,3>

输入序列为:| r | atatatatatbabratbatbabrat 没有与a匹配的项 则输出三元组为:<0,0,1>

输入序列为:| ra | tatatatatbabratbatbabrat 没有与t匹配的项 则输出三元组为:<0,0,4>

输入序列为:| rat | atatatatbabratbatbabrat 有匹配串atatatat 则输出三元组为:<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

初始词典:

索 引
1S
2b
3I
4T
5H
答:(1)可知输入为4,5,3,1,2,8,2,7,9,7,4

输入4:

输出:T

P=T

输入5:

输出:TH

P=TH

输入3:

输出:THI

P=HI

输入1:

输出:THIS

P=IS

输入2:

输出:THISb

P=Sb

输入8:

输出:THISbIS

P=bIS

输入2:

输出:THISbISb

P=ISb

输入7:

输出:THISbISbHI

P=bHI

输入9:

输出:THISbISbHISb

P=HISb

输入7:

输出:THISbISbHISbHI

P=SbHI

输入4:

输出:THISbISbHISbHIT

P=HIT

索引
1S
2b
3I
4T
5H
6TH
7HI
8IS
9Sb
10bI
11ISb
12bH
13HIS
14SbH
15HIT
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: