• 第四次作业


    参考书《数据压缩导论(第4版)》 P121 7、8

    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)由于窗口的大小为20,先行缓冲区的大小为10,所以编码如下:输入ratatatatatbabratbatbabrat

    输入 输出
    ||ratatatatatbabratbatbabrat <0,0,3>
    |r|atatatatatbabratbatbabrat <0,0,1>
    |ra|tatatatatbabratbatbabrat  <0,0,4>
    |rat|atatatatbabratbatbabrat  <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

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

    索引 条目
    1 S
    2 -
    3 I
    4 T
    5 H

    解码的序列为:T

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

    索引 条目
    1 S
    2 -
    3 I
    4 T
    5 H

    解码的序列为:TH

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

    索引 条目
    1 S
    2 -
    3 I
    4 T
    5 H
    6 TH

    解码的序列为:THI

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

    索引 条目
    1 S
    2 -
    3 I
    4 T
    5 H
    6 TH
    7 HI

    解码的序列为:THIS

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

    索引 条目
    1 S
    2 -
    3 I
    4 T
    5 H
    6 TH
    7 HI
    8 IS

    解码的序列为:THIS-

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

    索引 条目
    1 S
    2 -
    3 I
    4 T
    5 H
    6 TH
    7 HI
    8 IS
    9 S-

    解码的序列为:THIS IS

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

    索引 条目
    1 S
    2 -
    3 I
    4 T
    5 H
    6 TH
    7 HI
    8 IS
    9 S-
    10 -I

    解码的序列为:THIS IS-

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

    索引 条目
    1 S
    2 -
    3 I
    4 T
    5 H
    6 TH
    7 HI
    8 IS
    9 S-
    10 -I
    11 IS-

    解码的序列为:THIS IS HI

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

    索引 条目
    1 S
    2 -
    3 I
    4 T
    5 H
    6 TH
    7 HI
    8 IS
    9 S-
    10 -I
    11 IS-
    12 -H

    解码的序列为:THIS IS HIS-

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

    索引 条目
    1 S
    2 -
    3 I
    4 T
    5 H
    6 TH
    7 HI
    8 IS
    9 S-
    10 -I
    11 IS-
    12 -H
    13 HIS

    解码的序列为:THIS IS HIS HI

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

    索引 条目
    1 S
    2 -
    3 I
    4 T
    5 H
    6 TH
    7 HI
    8 IS
    9 S-
    10 -I
    11 IS-
    12 -H
    13 HIS
    14 S-H

    解码的序列为:THIS IS HIS HIT

    最后序列为:THIS IS HIS HIT

  • 相关阅读:
    Java入门:基础算法之从字符串中找到重复的字符
    Java入门:基础算法之产生随机数
    Java入门:基础算法之线性搜索
    Java入门:基础算法之检查奇偶性
    安装hadoop1.2.1集群环境
    Linux上安装JDK
    改变HTML中超链接的显示样式
    【Nutch2.2.1源代码分析之5】索引的基本流程
    【Nutch2.2.1源代码分析之4】Nutch加载配置文件的方法
    java生成UUID通用唯一识别码 (Universally Unique Identifier)
  • 原文地址:https://www.cnblogs.com/wannuexiaoze/p/4837483.html
Copyright © 2020-2023  润新知