第四次作业

本文详细介绍了LZ77算法的编码过程,通过实例演示了如何对特定字符序列进行编码与解码。同时,也展示了LZW算法构建词典的过程,并通过实例解释了如何对一系列字符进行编码。

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

 解:

根据题意知:窗口大小为20,前向缓冲区大小为10,搜索窗口大小10。 
C(a) = 1, C( _空格) = 2, C(r) = 3, C(t) = 4 

说明2的编码表示空格用下划线"_"

下面编码过程中,最后面含有空格的用下划线"_"表示。

输入输出
<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

接下来继续编码:

输入输出
 ||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>  

 

 

根据这2个过程得出:编码输出的三元组与解码输入的三元组完全一样。

 

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

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

初始字典:

索引
1S
2 
3I
4T
5H

 

 

解:

对接收序列:4,5,3,1,2,8,2,7,9,7,4进行编码,得到如下结果:

说明2的编码表示空格用下划线"_"

(1)输入4,5,3,1,2,8,2,7,9,7,4

索引条目
1S
2         _(空格)
3I
4T
5H

     

                      

    

 

 

 

该数解码的序列为:T

(2)输入4,5,3,1,2,8,2,7,9,7,4

索引条目
1S
2       (空格)
3I
4T
5H

 

                     

 

 

 

 

该数解码的序列为:TH

(3)输入4,5,3,1,2,8,2,7,9,7,4

索引条目
1S
2         _(空格)
3I
4T
5H
6TH

 

                 

 

 

 

 

该数解码的序列为:THI

(4)输入4,5,3,1,2,8,2,7,9,7,4

索引条目
1S
2       _ (空格)
3I
4T
5H
6TH
7HI

 

                        

 

 

 

 

 

该数解码的序列为:THIS

(5)输入4,5,3,1,2,8,2,7,9,7,4

索引条目
1S
2          _ (空格)
3I
4T
5H
6TH
7HI
8IS

 

                           

 

 

 

 

 

 

该数解码的序列为:THIS_

(6)输入4,5,3,1,2,8,2,7,9,7,4

索引条目
1S
2_ (空格)
3I
4T
5H
6TH
7HI
8IS
9S_

 

                             

 

 

 

 

 

 

 

该数解码的序列为:THIS IS 

(7)输入4,5,3,1,2,8,2,7,9,7,4

索引条目
1S
2_ (空格)
3I
4T
5H
6TH
7HI
8IS
9S_
10_I

 

                             

 

 

 

 

 

 

 

 

该数解码的序列为:THIS IS_

(8)输入4,5,3,1,2,8,2,7,9,7,4

索引条目
1S
2_ (空格)
3I
4T
5H
6TH
7HI
8IS
9S_
10_I
11IS_

 

                            

 

 

 

 

 

 

 

 

 

该数解码的序列为:THIS IS HI

(9)输入4,5,3,1,2,8,2,7,9,7,4

索引条目
1S
2_ (空格)
3I
4T
5H
6TH
7HI
8IS
9S_
10_I
11IS_
12_H

 

                                

 

 

 

 

 

 

 

 

 

该数解码的序列为:THIS IS HIS_

(10)输入4,5,3,1,2,8,2,7,9,7,4

索引条目
1S
2_ (空格)
3I
4T
5H
6TH
7HI
8IS
9S_
10_I
11IS_
12_H
13HIS

 

                         

 

 

 

 

 

 

 

 

      

 

该数解码的序列为:THIS IS HIS HI

(11)输入4,5,3,1,2,8,2,7,9,7,4

索引条目
1S
2_ (空格)
3I
4T
5H
6TH
7HI
8IS
9S_
10_I
11IS_
12_H
13HIS
14S_H

 

                                 

 

 

 

 

 

 

 

 

 

 

 

该数解码的序列为:THIS IS HIS HIT    

最终的解码的序列为THIS IS HIS HIT

转载于:https://www.cnblogs.com/zhangchuan24/p/4837603.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值