第六章 树和二叉树.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文档。上传文档
查看更多

2、求二叉树的深度算法基本思想:从二叉树深度的定义可知,二叉树的深度应为其左、右子树深度的最大值加1。由此,需先分别求得左、右子树的深度,算法中“访问结点”的操作为:求得左、右子树深度的最大值,然后加1。因此,必须使用后序遍历的算法。首先分析二叉树的深度和它的左、右子树深度之间的关系。第29页,共70页,星期日,2025年,2月5日作业完成此算法第30页,共70页,星期日,2025年,2月5日线索二叉树定义:前驱与后继:在二叉树的先序、中序或后序遍历序列中两个相邻的结点互称为~线索:指向前驱或后继结点的指针称为~线索二叉树:加上线索的二叉链表表示的二叉树叫~线索化:对二叉树按某种遍历次序使其变为线索二叉树的过程叫~实现在有n个结点的二叉链表中必定有n+1个空链域在线索二叉树的结点中增加两个标志域lt:若lt=0,lc域指向左孩子;若lt=1,lc域指向其前驱rt:若rt=0,rc域指向右孩子;若rt=1,rc域指向其后继结点定义:typedefstructBithrnode{intdata;intlt,rt;//左右标志structBithrnode*lc,*rc;//左右孩子指针}Bithrnode,*BithrTree;lcltdatartrc第31页,共70页,星期日,2025年,2月5日ABCDEABDCET先序序列:ABCDE先序线索二叉树00001111^11第32页,共70页,星期日,2025年,2月5日ABCDEABDCET中序序列:BCAED中序线索二叉树00001111^11^第33页,共70页,星期日,2025年,2月5日ABCDEABDCET后序序列:CBEDA后序线索二叉树0000111111^第34页,共70页,星期日,2025年,2月5日ABCDE0A01B00D11C11E1T中序序列:BCAED带头结点的中序线索二叉树01头结点:lt=0,lc指向根结点rt=1,rc指向遍历序列中最后一个结点遍历序列中第一个结点的lc域和最后一个结点的rc域都指向头结点ABDCET中序序列:BCAED中序线索二叉树00001111^11^第35页,共70页,星期日,2025年,2月5日线索链表的遍历算法:由于在线索链表中添加了遍历中得到的“前驱”和“后继”的信息,遍历时无需设栈,从而简化了算法。若二叉树需经常遍历或查找结点的前驱和后继,则应采用线索链表作为存储结构。第36页,共70页,星期日,2025年,2月5日例如:对中序线索化链表的遍历算法※中序遍历的第一个结点?※在中序线索化链表中结点的后继?左子树上处于“最左下”(没有左子树)的结点。若无右子树,则为后继线索所指结点;否则为对其右子树进行中序遍历时访问的第一个结点----这是一种递归的方式。第37页,共70页,星期日,2025年,2月5日操作演示中序线索化遍历第38页,共70页,星期日,2025年,2月5日ABCDEFG1A02B13C14D15E36F37G6dataparent1.双亲表示法:6.4树和森林第39页,共70页,星期日,2025年,2月5日ABCDEFG1A02B13C14D15E36F37G6datafirstchild2345672.孩子链表表示

文档评论(0)

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

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

1亿VIP精品文档

相关文档