6.1 树的类型定义.pptVIP

  1. 1、本文档共126页,可阅读全部内容。
  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.1  树的类型定义 查找类: 插入类: 删除类: 树的表示法: 二叉树的五种基本形态: 二叉树的主要基本操作: 二叉树 的重要特性 课堂练习题 树T有n个结点且结点的度均为k或者0,则树中的叶子结点总数为______________。 (广东工业大学05年考研试题) 两类特殊的二叉树: 性质 4 : 具有 n 个结点的完全二叉树的深度为 ? log2n? +1 性质 5 : 练习题 已知一棵完全二叉树共有748个结点,则该树中有_______个叶子结点。 6.3 二叉树的存储结构 一、 二叉树的顺序存储表示 二、二叉树的链式存储表示 1. 二叉链表 C 语言的类型描述如下: 2.三叉链表 3.双亲链表 三、算法的递归描述 四、中序遍历的递归与非递归描述 课堂练习 请说出下图二叉树的先序、中序和后序遍历次序? 五、二叉树遍历算法应用举例 1、统计二叉树中叶子结点的个数 2、求二叉树的深度 3、建立二叉树的存储结构 不同的存储结构有不同的建立算法,下面以二叉链表存储结构为例说明: 练习题 已知一个二叉树的先序遍历次序是: 8,5,1,3,2,4,6,7,10,9,11 中序遍历次序是: 1,2,3,4,5,6,7,8,9,10,11 请画出该二叉树的树形逻辑图示,并求出其后序遍历次序。 解: 后序遍历次序: 2,4,3,1,7,6,5,9,11,10,8 6.5 线索二叉树 何谓线索二叉树? 线索链表的遍历算法 如何建立线索链表? 一、何谓线索二叉树? 二、线索链表的遍历算法: 三、如何建立线索链表? 6.6 树和森林的 表示方法 森林转换为二叉树的直观方法 1.将森林的所有树的根和各棵树的兄弟分别相连; 2.删除树中除根与左子树的所有分支线; 3.把所有的水平线顺时针摆45度。 二叉树转换为森林的直观方法 1.把二叉树的所有的右子树分支线逆时针摆45度; 2.将所有根和右孩子分别相连; 3.删除树中所有水平线。 6.7 树和森林的遍历 6.8 哈 夫 曼 树 与 哈 夫 曼 编 码 最优树的定义 如何构造最优树 前缀编码 练习题 有一份电文中共使用八种字符,频率依次为: A(0.04),B(0.3),C(0.08),D(0.09),E(0.13),F(0.22),G(0.03),H(0.11), 请构造相应的哈夫曼树(要求树中所有结点的左右孩子权值必须左大右小),求出每个字符的哈夫曼编码。 解: 设左子树编码为0,右子树编码为1,则A,B,C,D,E,F,G,H字符的哈夫曼编码为:A:01010 B:00 C:0100 D:111 E:011 F:10 G:01011 H:110 电文中共使用八种字符,如果按一般方法对其进行编码,则最少需要3位码长,如:A(000),B(001),C(010),D(011),E(100),F(101),G(110),H(111),假设电文中共100个字符,按其出现频率则该电文的码长为:3*100=300。 若按哈夫曼编码A:01010(5位)B:00(2位)C:0100(4位)D:111(3位)E:011(3位)F:10(2位)G:01011(5位)H:110(3位),按其出现频率则该电文的码长(即带权路径长度WPL)为: 4*5+30*2+8*4+9*3+13*3+22*2+3*5+11*3=270, 明显的压缩了30位码长。 由二叉树转换为森林的转换规则为: 若 B = Φ, 则 F = Φ; 否则, 由 Node(root) 对应得到 ROOT( T1 ); 由LBT 对应得到 ( t11, t12, …,t1m); 由RBT 对应得到 (T2, T3, …, Tn)。 由此,树的各种操作均可对应二叉树的操作来完成。 应当注意的是,和树对应的二叉树,其左、右子树的概念 已改变为: 左是孩子,右是兄弟 一、树的遍历 二、森林的遍历 三、树的遍历的应用 树的遍历可有三条搜索路径: 按层次遍历: 先根(次序)遍历: 后根(次序)遍历: 若树不空,则先访问根结点,然后依次先根遍历各棵子树。 若树不空,则先依次后根遍历各棵子树,然后访问根结点。 若树不空,则自上而下自左至右访问树中每个结点。 A B C D E F

您可能关注的文档

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档