树、森林、二叉树.pptVIP

  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文档。上传文档
查看更多
森林转换成二叉树 将各棵树分别转换成二叉树,形成有若干二叉树的森林 按森林中树的先后次序,依次将后边一棵二叉树作为前边一棵二叉树根结点的右子树,这样整个森林就成了一棵二叉树 树和森林的遍历 树的遍历 遍历——按一定规律走遍树的各个顶点,且使每一顶点仅被访问一次,即找一个完整而有规律的走法,以得到树中所有结点的一个线性排列 常用方法 按层次遍历(广度优先遍历): 先访问第一层上的结点,然后依次遍历第二层, ……第n层的结点 树的前序遍历(树的先根遍历) 若树非空,则树的前序遍历顺序如下: ① 访问树的根结点; ② 前序遍历根的第一棵子树; ③ 前序遍历根的其余子树。 (2)树的后序遍历(树的后根遍历) 若树非空,则树的前序遍历顺序如下: ① 后序遍历根的第一棵子树; ② 后序遍历根的其他子树; ③ 访问树的根结点。 森林的遍历 数 据 结 构 将树转换成二叉树 加线:在兄弟之间加一连线 抹线:对每个结点,除了其左孩子外,去除其与其余孩子之间的关系 旋转:以树的根结点为轴心,将整树顺时针转45° A B C D E F G H I A B C D E F G H I A B C D E F G H I A B C D E F G H I A B C D E F G H I 树转换成的二叉树其右子树一定为空 将二叉树转换成树 加线:若p结点是双亲结点的左孩子,则将p的右孩子,右孩子的右孩子,……沿分支找到的所有右孩子,都与p的双亲用线连起来 抹线:抹掉原二叉树中双亲与右孩子之间的连线 调整:将结点按层次排列,形成树结构 A B C D E F G H I A B C D E F G H I A B C D E F G H I A B C D E F G H I A B C D E F G H I A B C D E F G H I J A B C D E F G H I J A B C D E F A B C D E F G H I J A B C D E F G H I J 二叉树转换成森林 抹线:将二叉树中根结点与其右孩子连线,及沿右分支搜索到的所有右孩子间连线全部抹掉,使之变成孤立的二叉树 还原:将孤立的二叉树还原成树 A B C D E F G H I J A B C D E F G H I J A B C D E F G H I J A B C D E F G H I J A B C D E F G H I J K L M N O 先序遍历: 后序遍历: 层次遍历: A B E F I G C D H J K L N O M E I F G B C J K N O L M H D A A B C D E F G H I J K L M N O 讨论:若采用“先转换,后遍历”方式,结果是否一样? a b d e c 先序遍历: 后序遍历: 中序遍历: d e c b a a b d e c a b c d e b d c e a 1. 树的先序遍历与二叉树的先序遍历相同; 2. 树的后序遍历相当于对应二叉树的中序遍历; 3. 树没有中序遍历,因为子树无左右之分。 结论: 先序遍历 若森林为空,返回; 访问森林中第一棵树的根结点; 先序遍历第一棵树中根结点的子树森林; 先序遍历除去第一棵树之后剩余的树构成的森林。 后序遍历 若森林为空,返回; 后序遍历森林中第一棵树的根结点的子树森林; 后序遍历除去第一棵树之后剩余的树构成的森林。 访问第一棵树的根结点; A B C D E F G H J I 讨论:若采用“先转换,后遍历”方式,结果是否相同? 例如: A B C D E F G H J I 先序序列: 后序序列: A B C D E F G H I J B C D A F E H J I G A B C D E F G H J I 先序序列: 中序序列: A B C D E F G H I J B C D A F E H J I G 1.森林的先序遍历与对应二叉树的先序遍历相同; 2.森林的后序遍历相当于对应二叉树的中序遍历; 结论: 当以二叉链表做树的存储结构时,树的先根序列和后根序列可借用二叉树的先序遍历和中序遍历的算法实现之;对于森林也一样。 一、基本术语 1.路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子或子孙结点之间的通路,称为路径。通路中分支的数目称为路径长度。从树的根结点到树中每个结点的路径长度之和称为树的路径长度 2.结点的权及带权路径长度 若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。 结点的带权路径长度为:从根结点到该结点之间的路径长度与该结点的权的乘积。 6.6 哈夫曼树 3.树的带权路径长度

文档评论(0)

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

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

1亿VIP精品文档

相关文档