冯娟的第四次作业

参考书习题:

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

     解:

           


序列


输出


<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

 

    

编码过程:

    输入序列:rat atatatatbabratbatbabrat


输入


输出


r  _atatatatatbabratbatbabrat


<0,0,3>


ra_ tatatatatbabratbatbabrat


<0,0,1>


rat _ atatatatbabratbatbabrat


<0,0,4>


r _atatatatatb_ abratbatbabrat


<2,8,2>


rat_ atatatatba _ bratbatbabrat


<3,1,2>


rata _ tatatatbab _ ratbatbabrat


<0,0,3>


ratatatatatbabratbatbabrat


<6,4,4,>


ratatatatatbabratbatbabrat


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

    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

时间: 2024-10-25 14:51:13

冯娟的第四次作业的相关文章

冯娟的第五次作业

书上习题: p44 3-9 没有冗余度的信源还能不能压缩?为什么? 答: 能.       因为冗余度为压缩信号提供了基础,也提高了通信效率.无损压缩和有损压缩.对于有冗余度的信源来说,无损压缩与有损压缩都能实现,由压缩的程度决定.只能进行有损压缩,当没有冗余度信源时.所以,对于没有冗余度的信源,只能进行有损压缩,不能进行无损压缩. 3-10 不相关的信源还能不能压缩?为什么? 答:能.      至少可以有损压缩,如果有冗余度(信源的非等概率分布)还可以无损压缩. 3-12 等概率分布的信源还

04+罗潇潇+罗潇第四次作业

04+罗潇潇+罗潇第四次作业 1.项目整体管理的过程 (1)项目启动,制定章程 (2)制定初步的项目范围说明书. (3)制定项目管理计划 (4)指导和管理项目执行 (5)监督和控制项目 (6)整体变更 (7)项目收尾 2.项目启动就是以书面的.正式的形式肯定项目的成立与存在,同时以书面正式的形式为项目经理进行授权.项目章程应当由项目组织以外的项目发起人发布,若项目为本组织开发也可以由投资人发布. 3.项目章程包括: (1)基于项目干系人的需求和期望提出的要求. (2)项目必须满足的业务要求和产品

软件工程(第四次作业)

第四次作业 题目: 1. 敏捷开发是在什么样的背景下产生的?其主要特点有哪些?什么时候选择敏捷开发更恰当,为什么? 2. Code smell 是如何产生的?有哪些典型的 code smell?代码重构(Code refactoring)有哪些优点?有哪些代码重构的方法? 答:1(1)敏捷开发的背景: 所谓敏捷开发是以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视.可集成和可运行使用的特征.换言

软件工程第四次作业——团队作业

软件工程第四次作业--团队作业 本次作业采用团队作业的方式,我的队友是我的同班同学,他们分别为:(队长)亢健强,贾猛,黄明帅,黄珂锐.我们团队的总体任务是要做一个"乐谱识别与演奏"的软件,拍摄一张乐谱图片,它会使用光学识别转换成音乐. 此次团队作业中我得任务主要是做需求调研,为此我先总结了一下常用的需求调研方法的优缺点,然后结合我们团队的实际情况选出了一种最适合我们的调研方法. 调研方法 优 点 缺 点 实地观察法 调查者在实地通过观察获得直接的.真实可靠的第一手资料 有一定的偶然性,

&lt;第四次作业查阅&gt;hashmap由value找key的算法

问题:不同于第三次作业,第三次作业是按照key的值排序输出,第四次作业则是要求按照频率(hashmap的value值)排序,然后输出key的值,最开始的想法是还是沿用第三次作业的做法,想着查询一下怎么从value反得到key的值,最后发现这种做法不仅麻烦,而且效率特别低,也给了我启示,由于key-value对可能出现多对一的情况,所以由key的value比较容易高效,但是反之的效率就比较低,应该尽量能够避免试图通过value得key. Map中是一个key有且只有一个value. 但是一个val

结对作业(软件工程第四次作业)

软件工程第四次作业---代码审查 一.partner 结对伙伴:林路 代码链接:coding 二.代码审查表 功能模块名称 简单的语法分析程序 审查人 王灵杰 审查日期 2018.4.6 代码名称 简单的语法分析程序 代码作者 林路 文件结构 重要性 审查项 结论 头文件和定义文件的名称是否合理? 合理 头文件和定义文件的目录结构是否合理? 合理 版权和版本声明是否完整? 不完整 重要 头文件是否使用了 ifndef/define/endif 预处理块? 没有 头文件中是否只存放"声明"

第四次作业——04树

第四次作业--树 一.学习总结 树的思维结构图 2.对于树学习总结 ⑴.树结构认识:树是一种非线性结构,每个节点有0个或多个后继节点,有且仅有一个前驱节点(根节点除外).在树中,递归方法可以放在考虑的首要位置 ⑵.学习这个结构遇到的困难:递归调用不会很清晰,代码量大,较难记忆. ⑶.树结构可以解决的问题:并查集问题 哈夫曼编码的问题. 二.6-1 二叉树操作集 1.设计思路 void CreateBTree(BTree &BT,string str){ 创建一个树T 定义一个i来计数 创建一个队

冯娟的第二次作业

参考书题目: 2.利用程序huff_enc和huff_dec进行以下操作(在每种情况下,利用由被压缩图像生成的码本).     (a)对Sena.Sensin和Omaha图像进行编码.     (b)编写一段程序,得到相邻之差,然后利用huffman对差值图像进行编码.       给出以上每一次实验得出的文件大小,并解释其差别. 解:(a)        文件名         压缩前         压缩后          压缩比       Sena         64K      

第四次作业总结与心得

一. 知识点总结:1.char 字符类型的定义 2.输入getchar,输出putchar 3.逻辑运算:逻辑与&&,逻辑或||,逻辑非| 4.两类分支结构:二分支结构,多分支结构 5.条件语句:if语句,switch语句 二.实验过程中遇到的问题及解决方法: 1.在使用switch语句时忘记使用break语句,应该在switch语句的每个语句段中都使用break语句 2.注意if与else的对应关系,else总是与它上面最近的if配对,若if与else的数目不一致,可以加{}来确定配对关