版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息工程大学算法设计与分析贪心法—哈夫曼编码国家级实验教学示范中心计算机学科组规划教材算法设计与分析Python案例详解微课视频版二进制编码问题:
给定字符集D={d1,d2,...,dn},字符出现的频率为{w1,w2,…,wn},要求为每个字符确定一种由0、1构成的二进制编码方案,使得编码后的文件长度最短。字符编码转换01编码译码转换字符
编码方案:等长编码存在的问题:字符频率不等时,得到的编码总长度可能不是最短的。非等长编码潜在的问题:如00表示E,01表示T,0001表示W,收到的编码是0001,那么这组编码是W还是ET呢?无法区分!!原因是E的编码和W的编码的开始部分(前缀)相同。2.非等长编码:采用非等长的二进制串表示。频度高的字符采用较短的二进制串表示,频度低的字符采用较长的二进制串表示,从而达到缩短报文总长的目的。前缀码:任一字符的编码都不是其它字符编码的前缀。因此,对字符集进行不等长编码,则要求这种不等长编码必须是前缀码。判断题。等长编码一定是前缀码。A.正确B.错误
戴维•哈夫曼提出了利用二叉树构造最优前缀码的方法。相应的二叉树称为哈夫曼树,对应的编码称为哈夫曼编码。设二叉树具有n个带权值的叶子结点,从根结点到各个叶子结点的路径长度li与叶子结点权值wi的乘积的和称为该二叉树的带权路径长度(WeightedPathLength,WPL)。
WPL最小的二叉树称为哈夫曼树。字符出现的频率根结点到字符结点的路径长度二进制编码问题本质上是构造哈夫曼树的问题。基于出现频率越高的字符、编码长度越短的贪心思想,哈夫曼提出了构造哈夫曼树的贪心法,优先选择频率低的字符,以自下而上的方式构造哈夫曼树。哈夫曼树的构造过程:初始时,每个结点作为一棵树,共有n棵树;新建一个结点v,选择具有最低频率的两个根结点作为结点v的左、右孩子,形成一棵树,v的权值为其左、右孩子的权值之和;重复步骤2,直到只剩下一棵树为止。选择题。已知n个叶子结点,构造哈夫曼树需要执行()次合并操作(合并操作指步骤2)。A.nB.n-1C.以上都不对c:14b:15d:17a:38f:6e:101601第一步例子:a:38,b:15,c:14,d:17,f:6,e:10c:14b:15d:17a:38f:6e:10初始化c:14b:15d:17a:38f:6e:101601第二步2901c:14b:152901f:6e:101601d:1733a:3801620110001第五步c:14b:152901f:6e:101601d:1733a:38016201第四步c:14b:152901f:6e:101601d:1733a:3801第三步字符对应的编码:f:1100e:1101d:111c:100b:101a:0c:14b:152901f:6e:101601d:1733a:3801620110001选择题。下图所示的哈夫曼树,密文“010110111111001101100111”对应的明文是()。A.abdffecdB.abbdfecdC.以上都不对Huffman(C)/*构建哈夫曼树*/输入:C={x1,x2,…,xn},n,
f(xi),i=1,2,…,n输出:C’1.复制C到C’中,初始化C’中每个字符的左、右孩子为-1;2.Q
C’;/*用字符频率集构建小根堆*/3.for(i=1;i<=n-1;i++){4.z=Allocate-Node();/*生成新结点z加入C’中*/5.z.left=pop(Q);/*取出Q最小元为z的左儿子*/6.z.right=pop(Q);/*取出Q次小元为z的右儿子*/
7.f(z)=f(x)+f(y);8.push(Q,z);/*将z插入Q*/9.}10.returnC’;时间复杂度为O(nlogn)石子合并问题:有n堆石子排成一排,依次编号为1~n。现要将石子两两合并为一堆,并将新的一堆石子数记为本次合并的代价。计算将n堆石子合并成一堆的最小代价。
结点i的权值wi根结点到结点i的路径长度li
*3465101518合并代价=10+15+18=43=3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤矿工程商业计划书
- 七年级数学第一学期期末家长会教学设计
- 初中科学八年级声与听觉基于探究的单元教学设计
- 初中八年级数学教学设计:分式方程解工程问题
- 高三地理《主体功能区划与国土空间开发保护》教学设计
- 小学二年级劳动课洗头技术教学设计
- 初中语文八年级上第五单元说明文阅读思维进阶教学设计
- 统编版道德与法治八年级上册第一单元第一框“认识社会生活”教学设计
- 小学三年级信息技术教学设计:变换造型趣味编程启蒙
- 2026年部编版五年级数学下册第7单元简易方程应用题专项训练课件
- 云南曲靖市麒麟区第七中学2026-2027学年九年级上学期第一次阶段学情自测英语试卷(含答案)
- (完整版)2026年注册安全工程师继续教育题库及答案
- 2026年会展经济(会展营销)试题及答案
- 2026年统考专升本新疆维吾尔自治区政治考试真题及答案
- 电力工程建设与管理指南(标准版)
- 2026中级消防监控证考试题目及答案
- 2025年新版中控证考试题及答案
- 进户门安装合同协议书
- 村卫生室标准化建设课件
- TD/T 1023-2010市(地)级土地利用总体规划编制规程
- 《农机安全生产重大事故隐患判定标准(试行)》解读与培训
评论
0/150
提交评论