彻底弄懂二叉树的先序,中序,后序三种遍历与做题方式_二叉树的先序,中序,后序遍历例题

彻底弄懂二叉树的先序,中序,后序三种遍历与做题方式_二叉树的先序,中序,后序遍历例题二叉树二叉树遍历二叉树题目计算机二级先序中序后序根

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

最近有同学考计算机二级不懂树遍历的计算,就找上我解惑。作为老好人的博主的我,但是义不容辞的上来阐述了一番。

先来官方的概念:

树的遍历:是指对树中所有结点信息的访问,即依次对树中每个结点的访问一次且仅访问一次。
分为:先序遍历,后序遍历,层次遍历。(普通的树是没有中序遍历的)

这里我们说一下二叉树的遍历:

二叉树的遍历分成三种,按照根节点的访问先后分为:
先序遍历(先根遍历):先访问根节点,然后访问左子树, 最后访问右子树。
中序遍历(中根遍历):先访问左子树,然后访问根节点, 最后访问右子树。
后序遍历(后根遍历):先访问左子树,然后访问右子树, 最后访问根节点

如:
在这里插入图片描述

先序遍历的顺序:ABC (先根节点A,在左子树B,然后右子树C);
中序遍历的顺序:BAC (先左子树B,在根节点A,然后右子树C);
后序遍历的顺序:BCA (先左子树B,在右子树C,然后根节点A)。

在这里插入图片描述
上图二叉树遍历结果:

先序遍历:ABDFCEGHI
中序遍历:BFDACHGIE
后序遍历:FDBHIGECA

第一种分析方法:(此处分析先序遍历)

①:从A根节点开始,根据先序遍历的原则:首先访问根节点A,然后访问它的左子树B, 在访问右子树C,遍历顺序就是A->B->C
②:左子树B 也按照先序遍历的原则来处理, 遍历顺序就是B->D。B的右子树也按照先序遍历的原则,顺序是D->F
,就可以得到A->B->D->F->C
③:右子树C按照先序遍历的原则处理,顺序是C->E,同理C的子树得遍历顺序E->G->H->I
那么, 这棵树先序遍历的结果就是,A->B->D->F->C->E->G->H->I

这是递归思路,根据原则遍历子树,子树没了子节点遍历完,则遍历同深度。

第二种分析方法:(此处分析中序遍历)

在这里插入图片描述

推导计算,两种遍历序列算出第三种序列。
在这里插入图片描述
记住两点:
先序/后序遍历可以确定根节点。
中序遍历可以确定左子树和右子树。
做这种题就是,反复来回这两点

题目分析:

由前序遍历知道,A是根节点。
则根据中序遍历 知道HBDF是左子树 EKCG是右子树的
然后在根据前序遍历 BHFD 知道B是左子树的根节点 ,再根据中序遍历知道H是左子树,DF是右子树,同理F是根,D是左子树。
由此也可推出A的右子树的结构
所有整个树的结构是:
在这里插入图片描述
因此后序遍历是:
HDFBKGCEA
答案是B

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194034.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月13日 下午8:15
下一篇 2025年11月13日 下午8:43


相关推荐

  • 转录调控必知数据库ENCODE,介绍及使用方法[通俗易懂]

    转录调控必知数据库ENCODE,介绍及使用方法[通俗易懂]按照上图的展示,目前的ENCODE通过多种测序数据来反应基因组变化的过程,分别是通过 Hi-C来观察三维基因组 ATAC-seq/chip-seq研究基因的转录调控 甲基化芯片来研究甲基化的调控作用 RNA-seq来研究基因表达的变化 RIP-seq研究在转录后调控的信息 我们可以通过ENCODE数据库来检索自己想要的数据。类似很多转录调控数据库也是在ENCODE数据库获得目标原始数据后,进行分析后构建的自己数据库。文…

    2025年7月3日
    4
  • Android开发常见错误及技巧

    1、无法使用网络:Permissiondenied(maybemissinginternetpermission)在AndroidMainifest.xml中增加允许使用网络选项(在<

    2021年12月24日
    45
  • 基于51单片机的流水灯设计

    基于51单片机的流水灯设计三个按键:A按键启动、B按键控制不同流水速度(低中高)、C按键设计思路一(未用中断):8个LED灯正极解电源,负极接单片机I/O口。死循环:设置P2口为11111110,使用左移函数,循环七次。同时每次位移中间加入延时函数。三个按键:A按键启动、B按键控制不同流水速度(低中高)、C按键控制流水灯暂停蜂鸣器长响:思路一:设置一个变量i,起初为0,按下A键后为1;当i为1进入死循环设置变…

    2022年5月3日
    137
  • 基于情感词典的情感分析_情感计算和情感分析

    基于情感词典的情感分析_情感计算和情感分析原理我就不讲了,请移步下面这篇论文,包括情感词典的构建(各位读者可以根据自己的需求稍作简化),以及打分策略(程序对原论文稍有改动)。论文在这里下载:基于情感词典的中文微博情感倾向性研究-陈晓东-华中科技大学(大家可以上百度学术搜索下载)本文采用的方法如下:首先对单条微博进行文本预处理,并以标点符号为分割标志,将单条微博分割为n个句子,提取每个句子中的情感词。以下两步的处理均以…

    2022年8月23日
    9
  • 前端架构分析

    前端架构分析前端架构分析前端的价值到底在哪里实现界面交互提升用户体验总结就是能写交互页面 写的交互页面用户用的爽前端的进阶前端不局限于前端 当然优先前端技术需要如何进阶 性能优化 推荐阅读掘金文章 移动 web 性能优化从入门到进阶 首先是如何发现问题 发现问题之后 是如何分析其中原因找到原因之后 采用的解决办法 解决之后 是否真实的对用户体验有所提升 对框架的理解流行框架的 API 调用是最基本的要求 理解框架原理 理解思想可以让你在前端的路上走的更远 以 vue 为例 Vue 中的

    2026年3月17日
    2
  • Java全栈工程师知识体系介绍

    Java全栈工程师知识体系介绍

    2021年7月20日
    79

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号