zoukankan      html  css  js  c++  java
  • 第四次作业

    《数据压缩导论(第4版)》P121

    ....................................................

    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 

     解码过程如下:

    序列 输出
    <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

    编码过程为: 

     

       

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

    可得出:编码输出的三元组与解码输入的三元组完全一样

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

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

    初始词典:

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

    解码过程如下表:

    输入 输出
    4 T
    5 TH
    3 THI
    1 THIS
    2 THIS_
    8 THIS IS
    2 THIS IS_
    7 THIS IS HI
    9 THIS IS HIS_
    7 THIS IS HIS HI
    4 THIS IS HIS HIT

     

     

     

     

     

     

     

     

     

     

    故:

    所接收序列:4,5,3,1,2,8,2,7,9,7,4,的解码的序列为:THIS IS HIS HIT。

  • 相关阅读:
    一次性删除 .svn 文件夹
    vim
    03 练习题:字符串
    04 练习题:元组、列表
    05 练习题:字典
    Python基础学习笔记(07)基础类型操作及转化、编码
    Python基础学习笔记(06)代码块、集合、深浅copy
    Python基础学习笔记(05)字典
    Python基础学习笔记(04)列表、元组
    67.滚轮事件
  • 原文地址:https://www.cnblogs.com/luodandan/p/4837555.html
Copyright © 2011-2022 走看看