网站大量收购独家精品文档,联系QQ:2885784924

《哈夫曼数演示文稿》-课件设计(公开).pptVIP

《哈夫曼数演示文稿》-课件设计(公开).ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.6 哈夫曼树及其应用 课题导入 相关概念 构造哈夫曼树 哈夫曼编码 结点的带权的路径长度: 该结点到根结点之间的路径长度 与该结点权值的乘积。 例2 有八种字符:a b c d e f g h ,其在通信联络中出现的概率分别为:0.05 0.29 0.07 0.08 0.14 0.23 0.03 0.11 ,试设计哈夫曼编码。 设权 w = ( 5, 29, 7, 8, 14, 23, 3, 11) n = 8 * * 【教学目标】 了解最优树(哈夫曼树)的特性,会计算树的带权路径长度(WPL)。掌握构造哈夫曼树和哈夫曼编码的方法。 【重点难点】 构造哈夫曼树和哈夫曼编码的方法。 一、课题导入 请编制一个将百分制转换成五级分制的程序。 if (score60) b=“bad”; else if (score70) b=“pass”; else if (score80) b=“general”; else if (score90) b=“good”; else b=“excellent”; 图a 在实际生活中,学生的成绩在五个等级上的分布是不均匀的。假如其分布规律如下表所示: 怎样使大部分的数据经过较少的比较次数得出结果并且使总的比较次数最少呢? 图a 路径: 从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。 二、相关概念 路径长度: 路径上的分支数目。 A B D E C 树的路径长度: 树中每个结点的路径长度之和。 (完全二叉树是路径长度最短的二叉树) 结点的路径长度: 从根结点到该结点的路径上分支 的数目。 A B D E C 结点的权值: 对结点赋予的一个有意义的数值量。 2 4 5 3 树的带权路径长度: 树中所有叶子结点的带权路径长度之和 WPL= ? = n k k k l w 1 第k个叶子的权值 从根结点到第k个叶子的路径长度 1 3 2 例如:在所有含 n 个叶子结点、并带相同权值的 m 叉树中,必存在一棵其带权路径长度取最小值的树,称为“最优树”。 哈夫曼树/最优二叉树: 给定一组具有确定权值的叶子结点,带权路径长度最小的二叉树。 例1:给定4个叶子结点,其权值分别为{2,3,4,5},可以构造出形状不同的多棵二叉树。 4 5 2 3 2 3 4 5 5 3 2 4 WPL=4x2+5x2+2x2+3x2=28 WPL=2x1+3x2+4x3+5x3=35 WPL=5x1+3x2+2x3+4x3=29 二叉树的带权路径长度: 哈夫曼算法基本思想: ⑴ 初始化:由给定的n个权值{w1,w2,…,wn}构造n棵只有一个根结点的二叉树,从而得到一个二叉树集合F={T1,T2,…,Tn}; 三、构造哈夫曼树 ⑵ 选取与合并:在F 中选取根结点的权值最小的两棵二叉树分别作为左、右子树构造一棵新的二叉树,这棵新二叉树的根结点的权值为其左、右子树根结点的权值之和; ⑶ 删除与加入:在F 中删除作为左、右子树的两棵二叉树,并将新建立的二叉树加入到F 中; ⑷ 重复⑵、⑶两步,当集合F 中只剩下一棵二叉树时,这棵二叉树便是哈夫曼树。 第1步:初始化 例1:W={2,3,4,5} 哈夫曼树的构造过程 3 5 2 4 第2步:选取与合并 3 2 5 第3步:删除与加入 5 4 3 2 5 重复第2步 5 4 9 重复第3步 5 5 4 9 3 2 3 5 4 2 5 3 重复第2步 重复第3步 5 5 4 9 3 2 5 5 4 9 3 2 14 100 30 15 60 5 30 40 10 15 70 a 80 60 a 70 a 60 80 a 90 不及格 良好 中等 优秀 及格 Y Y Y Y N N N N 四、哈夫曼编码 电报—将文字转换成二进制的字符串。 例如:电文“ABACCDA”, 假设A,B,C,D的编码分别为00,01,10,11 则,电文为:“00010010101100” 如果对每个字符设计长度不等的编码,且让出现次数较多的字符采用尽可能短的编码,则电文的总长便可减少。 假设A,B,C,D的编码分别为0,00,1,01 则,电文为:“000011010”,但是无法翻译。 如“0000”—“AAAA”或“ABA”或“BB” 前缀编码: 任

文档评论(0)

沙卡娜 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档