- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 树和二叉树 6.1 树的定义和基本术语 6.2 二叉树 6.3 遍历二叉树和线索二叉树 6.4 树和森林 6.6 赫夫曼树及其应用 6.6 赫夫曼树及其应用 1.基本术语 1)路径和路径长度 若一棵树中存在一个结点序列k1,k2,…,kj,使得ki是kj的双亲(0ij),则称此结点序列是从ki~ kj的路径。从k1~kj所经过的分支数称为这两点之间的路径长度,它等于路径上的结点数减1。 A B C D E F G 在许多应用中,常常将树中的结点赋上一个有着某种意义的实数,称其为该结点的权。 结点的带权路径长度(WPL)规定为从树根到该结点之间的路径长度与该结点上权的乘积。 a c b d 7 3 9 8 例:结点c的路径长度为2,其WPL=2*9=18 2)结点的权和带权路径长度 树中所有叶子结点的带权路径长度之和。通常记为: 其中 n 表示叶子结点的数目,wi 和 li分别表示叶子结点ki的权值和根到ki之间的路径长度。 a c b d 7 3 9 8 3)树的带权路径长度 4)赫夫曼(Huffman)树 又称最优二叉树。它是 n 个带权叶子结点构成的所有二叉树中,带权路径长度WPL最小的二叉树。 例:有四个叶子结点a,b,c,d,分别带权为9、4、5、2,由它们构成三棵不同的二叉树。 a c b d 4 9 5 2 b c d a 4 9 5 2 a b c d 9 2 4 5 a) WPL=9×2 +4×2+5×2+2×2=40 b) WPL=4×1+2×2+5×3+9×3=50 c) WPL=9×1+5×2+4×3+2×3=37 a b c 1)根据给定的n个权值{w1, w2, …, wn},构造 n棵二叉树的集合 F = {T1, T2, …,Tn},其中每棵二叉树中均只含一个带权值为wi的根结点,其左、右子树为空树; 4) 重复(2)和(3)两步,直至F中只含一棵树为止。 3) 从F中删去这两棵树,同时加入刚生成的新树; 2) 在F中选取其根结点的权值为最小的两棵二叉树,分别作为左、右子树构造一棵新的二叉树,并置这棵新的二叉树根结点的权值为其左、右子树根结点的权值之和; 2.构造最优树 赫夫曼算法: 第一步: a b c d 9 2 5 4 a c 9 b d 2 4 5 6 第二步: a b c d 9 2 4 5 第三步: 6 11 第四步: a 9 b c d 2 4 5 6 11 20 3.判定树 (赫夫曼树的应用之一) 在解决某些判定问题时,利用赫夫曼树可以得到最佳判定算法。 例:编制一将学生百分成绩按分数段分级的程序。 若学生成绩分布是 均匀的,可用图(a) 二叉树结构来实现。 a60 a70 a80 a90 不及格 中等 良好 优秀 及格 Y N Y N Y N Y N (a) 输入10000个数据,则需进行31500次比较。 分数 0—59 60—69 70—79 80—89 90—99 比例 0.05 0.15 0.4 0.3 0.1 学生成绩分布不是均匀的情况: a60 a70 a80 a90 不及格 中等 良好 优秀 及格 Y N Y N Y N Y N (a) 有没有一种更好的办法来减少比较次数呢? 70≤a80 a60 及格 中等 良好 80≤a90 60≤a70 不及格 优秀 Y N Y Y Y N N N (b) 不及格 Y a90 a80 a70 a60 优秀 中等 及格 良好 Y N N N (c) Y Y Y 以比例数为权构造一棵哈夫曼树,如(b)判断树所示。 再将每一比较框的两次比较改为一次,可得到(c)判定树。 输入10000个数据,仅需进行22000次比较。 分数 0—59 60—69 70—79 80—89 90—99 比例 0.05 0.15 0.4 0.3 0.1 4.赫夫曼编码(赫夫曼树的应用之二) 1)二进制编码 通信中,可以采用0、1的不同排列来表示不同的字符,称为二进制编码。 发送端需要将电文中的字符序列转换成二进制的0、1序列,即编码; 接受端需要把接受的0、1序列转换成对应的字符序列,即译码。 字符:A B A C C D A 电文:00010010101100 A B C D的编码分别为:00、01、10、11 电文总长度为:14 如何能缩短传送电文的 总长度,从而节省传送 时间呢? 若采用不等长编码,让出现频率高的字符具有较短的编码,让出现频率低的字符具有较长的编码,这样有可能缩短传送电文的总长度。 字符:A B A C C D A A B C D的编码
您可能关注的文档
最近下载
- 3万吨全粉5万吨法式薯条加工项目可行性研究报告编制格式说明(模板型word).pdf VIP
- 初中物理竞赛试题精选精编第16讲电与磁(含答案与解析).docx VIP
- 第6章 机械振动-改 h(实际4h).ppt
- 2023-2024全国初中物理竞赛试题精选精编第16讲电与磁(解析版).doc VIP
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案.docx VIP
- 中国共产党统一战线工作条例学习PPT课件.pptx VIP
- 前程无忧国企入职题库.pdf VIP
- QCT29106-2004线束标准详细介绍.pdf VIP
- 钠离子电池正极材料的发展与产业化研究.pdf
- 进度控制监理细则.doc VIP
文档评论(0)