- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chapter3.3树与森林
文档作业: P142: 16,17,18,19,20,21 上机作业: 3.4.2 医院设施管理 课后作业 第3章 树 3.1 树的基本概念 3.2 二叉树 3.3 树与森林 3.4 树的应用 (1)在所有相邻兄弟结点之间加一水平连线。 (2)对每个非叶结点k,除了其最左边的孩子结点外,删去k与其他孩子结点的连线。 (3)所有水平线段以左边结点为轴心顺时针旋转45度,使之结构层次分明。 树做这样的转换所构成的二叉树是唯一的。 树转换为二叉树 加边 删边 调整 将树转换为二叉树的形式表示。 令结点的两个链域分别指向该结点的第一个儿子和右边的兄弟。 R B A C D E F H G K ∧ ∧ ∧ R A D B E ∧ C ∧ F ∧ G ∧ ∧ H ∧ K ∧ ∧ * 森林转换为二叉树的方法如下: (1)将森林中的每棵树转换成相应的二叉树。 (2)第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树根结点的右孩子, 当所有二叉树连在一起后,所得到的二叉树就是由森林转换得到的二叉树。 森林转换为二叉树 * * 将一棵二叉树还原为树或森林,具体方法如下: (1) 若某结点是其双亲的左孩子,则把该结点的右孩子、 右孩子的右孩子……都与该结点的双亲结点用线连起来。 (2) 删掉原二叉树中所有双亲结点与右孩子结点的连线。 (3) 整理由(1)、(2)两步所得到的树或森林, 使之结构层次分明。 二叉树还原为树或森林 二叉树到森林的转换示例 1.添加连线 2. 删除有孩子节点的连线 3. 整理 * 树的周游 深度优先 先根次序 后根次序 广度优先 宽度优先周游(层次周游) * 1) 先根次序 若树非空,则遍历方法为: ①访问根结点。 ②从左到右, 依次先根遍历根结点的每一棵子树。 先根次序周游序列ABECFHGD 等同于转换的二叉树进行先序周游 树的周游 * 2) 后根次序 若树非空, 则遍历方法为: ①从左到右, 依次后根遍历根结点的每一棵子树。 ②访问根结点。 后根次序周游序列为EBHFGCDA 等同于转换的二叉树进行中序周游 树的周游 * 树的周游 按广度方向周游 宽度优先周游 也称为层次周游 层次周游序列为ABCDEFGH * 森林的周游 深度优先 先根次序 后根次序 广度优先 宽度优先周游(层次周游) * 1) 先根次序 若森林非空, 则遍历方法为: ①访问森林中第一棵树的根结点。 ②先根次序周游第一棵树的根结点的子树森林。 ③先根次序周游其他的树。 先根周游序列为 ABCDEFGHIJ 等同于转换的二叉树进行先序周游 森林的周游 * 2) 后根次序 若森林非空, 则遍历方法为: ①后根次序周游森林中第一棵树的根结点的子树森林。 ②访问第一棵树的根结点。 ③后根次序周游其他的树。 后根周游序列为 BCDAFEHJIG 等同于转换的二叉树进行中序遍历 森林的周游 * 森林的周游 按广度方向周游 宽度优先周游(层次周游) 层次周游序列为 AEGBCDFHIJ * 课堂练习 A B E C F D I J K G H L 将二叉树转换为森林,给出先根次序和后根次序序列 * */50 树的存储 孩子表示法 孩子兄弟表示法 双亲表示法 树的存储 (1) 孩子表示法 多重链表 定长结点的多重链表 不定长结点的多重链表 孩子链表表示法(教材中没有介绍) data child1 … childn data degree child1 … * (1) 孩子表示法-孩子链表表示法 树的存储结构 * 树的孩子兄弟链存储结构示意图 树的存储结构 (2) 孩子兄弟表示法 * (3) 双亲表示法:用一组连续的空间来存储树中的结点,在保存每个结点的同时附设一个指示器来指示其双亲结点在表中的位置, 其结点的结构如下: Data Parent 树的存储结构 * 树的双亲存储结构示意图 树的存储结构
文档评论(0)