数据结构第2版宗大华陈吉人数据结构课件-5课件教学.pptVIP

数据结构第2版宗大华陈吉人数据结构课件-5课件教学.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * 先序遍历二叉树的递归算法 算法5-7 算法描述 (1) 算法分析 (2) Pret_Bt(Bt) { if (Bt != NULL) { printf (%c, Bt-Data); Pret_Bt(Bt-Lchild); Pret_Bt(Bt-Rchild); } } A B C D 算法描述:已知二叉树Bt,对其进行先序遍历,若二叉树为空,则为空操作;否则进行如下操作:访问二叉树根结点;先序遍历二叉树的左子树;先序遍历二叉树的右子树。 . . 对下图二叉树实施算法时, 访问A 遍历左子树 遍历右子树 返回 根为NULL 返回 根为NULL 返回 根为NULL 返回 访问D 遍历左子树 遍历右子树 返回 访问B 遍历左子树 遍历右子树 返回 访问C 遍历左子树 遍历右子树 返回 根为NULL 返回 根为NULL 返回 首次调用 ① ⑥ ⑦ 16 ② 11 ③ ⑤ ④ ⑧ ⑨ ⑩ 12 13 14 15 递归图解如右所示,数字表示递归调用时的执行顺序。 5.4.1 编码概述 1. . 发送的编码应该尽可能地短,以便提高传输效率,节省存储空间。 设计编码方案需遵循的原则 . 对发送方传输的编码字,接收方解码后必须具有唯一性,解码结果应与发送的电文完全一致。 . 编码中不能用特殊的标志 (如标点符号) 来分隔两个编码字,也就是说没有一个编码字是其他编码字的前缀,满足这个要求的编码被称为是具有“前缀特性”的编码。 假设所有编码都等长,那么表示n个不同的代码就需要用log2 n位,这称为“等长编码”方法,人们熟悉的ASCII码就是一种固定长度编码。如果每个字符的使用频率都相等,那么采用固定长度编码是效率最高的方法。 2. 不同的编码方法 . . 在为信息进行编码时,若某个符号使用很频繁,最好为其分配较短的编码字,而对使用较少的符号,分配较长的编码字,这样的编码方案,不仅可以节省存储空间,而且平均编码长度达到最小,因此这是最优编码。 最优编码,是一种“不等长编码”方法,最优编码是与符号的使用概率密切相联的。哈夫曼(Huffman)编码,就是一种不等长编码。 . 其带权路径长度为:WPL = 7?1+5?2+1?3+3?3 = 29。由带有权值的一组相同叶结点 构成的二叉树中,带权路径长度最小的二叉树,被称为是“最优二叉树”。常称最优二叉树为“哈夫曼树”。 该二叉树里,权值为1的叶结点的路径长度为2,权值为3的叶结点的路径长度为3,权值为5的叶结点的路径长度为 3,权值为7的叶结点的路径长度为1。因此,该二叉树的路径长度为:2+3+3+1=9,带权路径长度为:WPL =2?1+3?3+3?5+7?1 = 33。 所谓一棵二叉树的“路径长度”,是指从根结点到每一个叶结点的路径长度之和。注意,这里给出的路径长度是相对于整棵二叉树而言的。是一个是整体概念。 如图所示的二叉树,其四个叶结点分别带权值为1、3、5、 7。试给出该二叉树的路径长度,带权值的路径长度WPL。 3. 一些有关的概念 . . 若赋给叶结点一个有意义的实数,则称此数为该叶结点的 “权”。设二叉树具有n个带权值的叶结点,那么从根结点到各叶结点的路径长度与相应结点权值的乘积之和,称为该二叉树的“带权路径长度(WPL)”,记为: WPL= ∑Wi × Li i=1 n 其中,Wi是第k个叶结点的权值,Li是第k个叶结点的路径长度。 7 3 5 1 7 5 1 3 例: 解: 由这四个叶结点也可组成另一棵二叉树, . 在HT集合中,删除作为左、右子树的原两棵二叉树,将新构成的二叉树添加到HT中 。 1. 构造哈夫曼树的具体步骤 假定有n个权值w1、w2、w3、…、wn,构造哈夫曼树的具体步骤如下 。 构造出n棵只有根结点的二叉树T1、T2、T3、…、Tn,它们分别以w1、w2、w3、 …、wn作为自己的权值,从而得到一个二叉树的集合: HT = {T1,T2,T3,…,Tn} (1) (2) 在集合HT中,取权值最小和次小的两个根结点,让它们作为一棵新二叉树的左子树和右子树,这棵新二叉树的根结点的权值,是

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档