第二作业——肖祥英

P66

2.利用程序huff_enc和huff_dec进行一下操作(在每种情况下,利用由被压缩图像生成的码本)。

(a)对Sena、Sensin和Omaha图像进行编码。

给出以上每一试验得出的文件大小,并解释其差别。

答:根据文件程序调试结果如下图所示:


文件名


压缩前


压缩后


压缩率


Sena


64


57


89%


Sensin


64


61


95%


Omaha


64


58


90%

所以压缩率一般是越小越好,但是压得越小,解压时间就越长。

4.一个信源从符号集A={a1,a2, a3, a4, a5}中选择字母,概率为P(a1)=0.15,P(a2)=0.04,P(a3)=0.26,P(a4)=0.05,P(a5)=0.50.

(a)计算这个信源的熵。

(b)求这个信源的霍夫曼码。

(c)求(b)中代码的平均长度及其冗余度。

答:(a)H=-0.15*(log2(0.15))-0.04*(log2(0.04))-0.26 *(log2(0.26))-0.05*(log2(0.05))-0.50*(log2(0.50))=1.83

(b)根据上述的概率得:


字母


概率


码字


a1


0.15


000


a2


0.04


0010


a3


0.26


01


a4


0.05


0011


a5


0.50


1

(c)L=0.15*3+0.04*4+0.26*2+0.05*4+0.5*1=1.83

L-H=0

5. 一个符号集A={a1,a2, a3, a4,},其概率为P(a1)=0.1,P(a2)=0.3,P(a3)=0.25,P(a4)=0.35,使用以下过程找出一种霍夫曼码:

(a)本章概述的第一过程;

(b)最小方差过程。

答:

(a)一、为每个字符创建一个集合


字母


概率


码字


集合


集合的概率


a1       


0.1


a1


0.1


a2


0.3    


a2


0.3    


a3       


0.25


a3


0.25


a4       


0.35


a4


0.35

二、根据集合的概率对集合进行排序(升序)


字母


概率


码字


集合


集合的概率


a1       


0.1


a1


0.1


a2


0.3    


a3


0.25 


a3       


0.25


a2


0.3


a4       


0.35


a4


0.35

三、对最前面集合的字母的码字中插入前缀 ‘1’


字母


概率


码字


集合


集合的概率


a1       


0.1


1


a1


0.1


a2


0.3    


a3


0.25 


a3       


0.25


a2


0.3


a4       


0.35


a4


0.35

四、对第二个集合中字母的码字中插入前缀‘0’


字母


概率


码字


集合


集合的概率


a1       


0.1


1


a1


0.1


a2


0.3    


a3


0.25 


a3       


0.25


0


a2


0.3


a4       


0.35


a4


0.35

五、合并最前面的两个集合


字母


概率


码字


集合


集合的概率


a1       


0.1


1


a1a3


0.35


a2


0.3    


a2


0.3


a3       


0.25


0


a4


0.35


a4       


0.35

六、根据集合的概率对集合进行排序(升序)


字母


概率


码字


集合


集合的概率


a1       


0.1


1


a2


0.3


a2


0.3    


a1a3


0.35


a3       


0.25


0


a4


0.35


a4       


0.35

七、对最前面集合的字母的码字中插入前缀 ‘1’


字母


概率


码字


集合


集合的概率


a1       


0.1


1


a2


0.3


a2


0.3    


1


a1a3


0.35


a3       


0.25


0


a4


0.35


a4       


0.35

八、对第二个集合中字母的码字中插入前缀‘0’


字母


概率


码字


集合


集合的概率


a1       


0.1


01


a2


0.3


a2


0.3    


1


a1a3


0.35


a3       


0.25


00


a4


0.35


a4       


0.35

九、合并最前面的两个集合


字母


概率


码字


集合


集合的概率


a1       


0.1


01


a1a2 a3


0.65


a2


0.3    


1


a4


0.35


a3       


0.25


00


a4       


0.35

十、根据集合的概率对集合进行排序(升序)


字母


概率


码字


集合


集合的概率


a1       


0.1


01


a4


0.35


a2


0.3    


1


a1a2 a3


0.65


a3       


0.25


00


a4       


0.35

十一、对最前面集合的字母的码字中插入前缀 ‘1’


字母


概率


码字


集合


集合的概率


a1       


0.1


01


a4


0.35


a2


0.3    


1


a1a2 a3


0.65


a3       


0.25


00


a4       


0.35


1

十二、对第二个集合中字母的码字中插入前缀‘0’


字母


概率


码字


集合


集合的概率


a1       


0.1


001


a4


0.35


a2


0.3    


01


a1a2 a3


0.65


a3       


0.25


000


a4       


0.35


1

十三、合并最前面的两个集合


字母


概率


码字


集合


集合的概率


a1       


0.1


001


a1a2a3a4


a2


0.3    


01


a3       


0.25


000


a4       


0.35


1

则平均码长l=0.1*3+0.3*2+0.25*3+0.35*1=2;

时间: 2024-10-24 12:17: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> ratatatatatbabratbatbabra

第五次作业——肖祥英

3-9   没有冗余度的信源还能不能压缩?为什么? 答:能,可以有损压缩,但不能无损压缩. 3-10   不相关的信源还能不能压缩?为什么? 答:至少可以有损压缩,如果有冗余度(信源的非等概率分布)还可以无损压缩. 3-12  等概率分布的信源还能不能压缩?为什么?你能举例说明吗? 答:等概率分布的信源可以进行有损压缩:另外,“等概率”未必“不相关”,例如对方波信号或锯齿波信号的均匀取样值. 3-15   有人认为:“图像的负片(黑白颠倒)比整篇更容易压缩”.你同意他的观点吗?为什么? 答:我不

第三次作业——肖祥英

5.给定如表所示的概率模型,求出序列a1 a1 a3 a2 a3a1的实值标签.            字         母                                         概       率                                         a1                            0.2                  a2                                           

第一次作业——肖祥英

1-1:数据压缩的一个基本问题是“我们要压缩什么”,对此你是怎样理解的?答:以最少的数码来表示信源所发出的信号,减少容纳给定集合或数据采样集合发信号空间.物理空间.时间空间.电磁频段都可能成为数据压缩的对象. 1-2:数据压缩的另一个基本问题是“为什么进行压缩”,对此你又是如何理解的? 答:它主要目的是减少在存储时占用的空间.又因为存储占用大量的空间,以及大数据量使得数据传输量非常大,这对通信道及网络都造成很大压力.所以要进行数据压缩. 1-6:数据压缩技术是如何进行分类的?答:(1)按照压缩方

CES神吐槽:人工智能快要“烂大街”了?

在CES 2017开展前夕,化名Master的"阿尔法狗"一路击败包括排名世界第一的柯洁等60位围棋高手,在快棋战中再次宣告了人工智能的胜利.紧跟着在刚刚开幕CES上,CCTV的美女记者通过镜头更是直接了当地指出"2018年全球将有超过60亿台设备用上人工智能技术"!笔者脑子里的第一反应只能是:什么情况?怎么一夜之间感觉人工智能就要烂大街了?难道今年是2020年? 1月5日-8日在拉斯维加斯上演的国际消费电子展上,来自150余个国家和地区,超过3800家参展商发布最

重新学习了《中国近现代史》

历史问题,能不能用交互的角度来解读呢?产品中所有的对象数据都不是孤立存在的,没有意外,所有的历史事件都不可能是凭空发生的,也不存在孤立的个体.事件,每一个对象都有其属性,所有因属性造就的历史交互事件,牢牢的被钉在在历史的大幕之中,一个字,合理. 思路很简单,先把类理清楚,再理各对象之间的交互,及数据.由于本文脑洞大开,不排除编不下去的可能性.中不中,先尝试一下,各主演上场就坐. 清政府, 满族,游牧民族,极度排斥通商贸易.工商业,种地放养最好,唯我独尊,文科思维,臣服于我就好,封闭愚昧对外一麻黑

面向对象重要设计原则概述

第一种讲法 凭什么要用面向对象来编程,不用是否可以?今天我们通过讲这么几个设计原则来说明为什么要用面向对象,它的好处在哪里. 开放-封闭原则:是说软件实体(类.模块.函数等等)应该可以扩展,但是不可修改. 里氏代换原则:子类型必须能够替换掉它们的父类型. 依赖倒转原则:A. 高层模块不应该依赖低层模块.两个都应该依赖抽象.B. 抽象不应该依赖细节.细节应该依赖抽象. 讲解完毕,今天培训结束. 反响:捣浆糊讲解,大家笑骂. 第二种讲法 开放-封闭原则举例 1982年1月,小平同志在会见美国华人协会

C++投票系统说明文档

C++第二作业说明文档 一.Person类:主要是对作为person成员_id,_name,_age,_totalPersons的一些初始化. 1. static int _totalPersons; 这个是静态成员变量,不属于任何一个类对象,通过类名直接调用实现. 2. 因为_id是一个标识列,在创建person类型的对象的时候,静态成员变量_totalPersons都会经行自增加操作,然后将totalPersons的值赋值给_id,对-id进行初始化..保证每个选民都有独自的id标识列. 3

向全球快速扩散的中国超算,让中国速度有了新的联想

美国著名高性能计算专家.美国印第安纳大学计算机教授.美国橡树岭(Oak Ridge)国家实验室访问学者Thomas Sterling在2018年6月23日接受美国媒体采访时表示,近期中国在全球高性能计算市场取得主导地位这一现象非常值得关注.他表示,中国已经展现了显著的创新能力,已经部署的高性能计算系统也很具有竞争力.此外,中国正在快速学会如何把这些超级计算机系统应用到现实世界中,解决实际的问题. 2018年6月25日,在2018年国际超级计算机大会(ISC)大会上公布了新一届全球高性能计算TOP