- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九讲:二叉树
第九讲 第9讲 二叉树遍历 本节重点 二叉树的先根遍历DLR 二叉树的中根遍历LDR 二叉树的后根遍历LRD 由两个序列构造二叉树 二叉树遍历的应用举例 学习目标 掌握二叉树的三种遍历算法 指定一棵二叉树能够熟悉的写出三种遍历序列 可以灵活的应用遍历算法,实现复杂的算法,例如查找某个结点 由两组序列,能够构造一棵二叉树 知识回顾 树的4种表示方法是? 树的存储结构有几种形式? 9.1 二叉树的遍历操作 遍历操作:无重复无遗漏的访问 二叉树的遍历:指的是从根节点出发,按照某种次序依次访问二叉树中的所有节点,使得每个节点被访问一次且仅被访问一次 前序遍历 中序遍历 后序遍历 9.1 二叉树的遍历操作 前序遍历(根遍历DLR)递归算法实现 若二叉树为空,则空操作返回,否则 (1)访问根节点 (2)前序遍历根节点的左子树 (3)前序遍历根节点的右子树 前序遍历(根遍历DLR)递归算法演示 9.1 二叉树的遍历操作 练习 前序遍历下列二叉树,写出前序遍历序列 非递归前序遍历 9.1 二叉树的遍历操作 前序遍历(根遍历DLR ) 9.1 二叉树的遍历操作 前序分析:结点的左儿子、左孙子、左后代、…… 将连续输出。结点的右儿子将在结点、结点的左 子树全部输出之后才输出。 9.1 二叉树的遍历操作 中序遍历(LDR)---递归算法 若二叉树为空,则空操作返回,否则 (1)按中序遍历根节点的左子树 (2)访问根节点 (3)中序遍历根节点的右子树 中序遍历( LDR )递归算法演示 9.1 二叉树的遍历操作 中序遍历(LDR ) 9.1 二叉树的遍历操作 中序分析:最先输出的结点是根结点的最左的左后代。将二叉树中的结点投影到水平轴线上,则得到 中序遍历的序列。 中根遍历的非递归算法 9.1 二叉树的遍历操作 后序遍历(LRD) 若二叉树为空,则空操作返回,否则 (1)后序遍历根节点的左子树 (2)后序遍历根节点的右子树 (3)访问根节点 二叉树后序遍历的非递归算法 二叉树后序遍历的非递归算法 算法的伪代码实现如下 非递归后序遍历 9.1 二叉树的遍历操作 后序遍历(LRD ) 9.1 二叉树的遍历操作 后序分析:根结点(或子树的根结点)将在它的左、右子树的结点输出之后。因此,根结点(或子树 的根结点)在后序序列中的序号等于它的左右子树的结点个数 +左右子树中的最先被访问 的结点的序号。注意,结点、右父亲、右祖父、…… 将连续输出。 9.1 二叉树的遍历操作 任意一颗二叉树的任何一种遍历序列都是唯一的。 由二叉树的前序序列( DLR )和中序序列( LDR )可以唯一的确定一颗二叉树。 由二叉树的后序序列( LRD )和中序序列( LDR )可以唯一的确定一颗二叉树。 9.1 二叉树的遍历操作 例题:已知一颗二叉树的前序遍历序列( DLR )和中序遍历( LDR )序列分别为: ABCDEFGH和CDBAFEHG,试画出该二叉树。 9.1 二叉树的遍历操作 例题:已知一颗二叉树的后序遍历序列( LRD )和中序遍历序列( LDR )分别为: HDBFECA 和DHBAFCE,试画出该二叉树。 9.2 二叉树的遍历操作 层序遍历 在进行层序遍历的时候,对某一个层的节点访问后,在按照它们的访问次序对各个节点的左孩子和右孩子顺序访问,这样一层一层进行,先访问的节点,其左右孩子也要访问。 9.2 二叉树的遍历操作 层序遍历 9.2 二叉树的遍历操作 层序遍历 9.3.2 二叉树的基本运算算法实现 写出下面二叉树的括号表示法 9.3 二叉树遍历操作应用举例 算法 按先序序列建立二叉树的二叉链表 abd…ef..g.. 建立根结点 先序建立左子树 先序建立右子树 9.4二叉树的应用 设有八枚硬币,分别表示为a,b,c,d,e,f,g,h,其中有且仅有一枚硬币是假币,并且假币的重量与真币的重量不同,假币轻。现要求以天平为工具,用最少的比较次数挑选出假币,编写算法实现! 9.4二叉树的应用 解决方法:把硬币分为两组,如果n为奇数,则剩下一枚硬币,然后把两组硬币分别放到天平的两端,如果两组硬币相同,那么留下的硬币就是假币;否则,用同样的方法对较轻的硬币进行同样的处理,因为假币一定在较轻的那组里 9.4二叉树的应用 解决方法:设八枚硬币为{a,b,c,d,e,f,g,h},把八枚硬币分为两组 9.4二叉树的应用 1 2 3 8 7 6 5 4 10 9 后序遍历的序列为:8 ,9, 4, 10, 5, 2, 6, 7, 3, 1 根节点 A BCD FEHG A B C F E D H 层序遍历的操作有点类似于队列的操作原则,因此在进行层序遍历 时,可以设
您可能关注的文档
最近下载
- 幼儿通识性知识大赛考试总题库-上(单选题部分).docx VIP
- 3 桂花雨 教案 2025-2026学年五年级语文上册 统编版.docx VIP
- 梅毒血清学检测的操作规范课件.ppt VIP
- 《无损检测》射线检测课件.pptx VIP
- 4 珍珠鸟 教案 2025-2026学年五年级语文上册 统编版.docx VIP
- 《桂枝香·金陵怀古》ppt课件(21页).ppt VIP
- 2025至2030中国衣架行业市场深度研究与战略咨询分析报告.docx
- 2025年重庆一中中考数学三模试卷(含答案).pdf VIP
- 2021年重庆一中中考数学诊断试卷.pdf VIP
- 十大消费者趋势报告.pptx VIP
文档评论(0)