树的遍历主要有三种
1、先序遍历:先遍历根节点,再遍历左节点,最后遍历右节点;
2、中序遍历:先遍历左节点,再遍历根节点,最后遍历右节点;
3、后序遍历:先遍历左节点,再遍历右节点,最后遍历根节点;
总结:先、中、后就表示根节点的遍历处于哪个位置,而总是先左节点后右节点。例如先序遍历,“先”表示根节点最先遍历,再左节点,最后右节点。依此类推中序遍历,后序遍历。
接下来看一个题目,看一下你们是怎么做的。

我们以中序遍历为例来讲(每次以三个节点为一个整体):
首先从树的根节点开始即C F E
我们再依次来看,先看C,则以C为根节点的三个节点(即A C D)按中序遍历则为A C D。故A放在C之前,把D放在C之后。故A C D F E
再看A,由于以A为根节点的三个节点中其他两个没有,故看下一个D 同理可得 B D
故把B放在D之前,即A C B D F E
类似可得中序遍历为 A C B D F H E M G


这样是不是再也不怕树的遍历了!!!

树的遍历(先序、中序、后序详解)相关推荐

  1. 【CCCC】L2-006 树的遍历 (25分),根据后序与中序遍历建立二叉树(我讨厌树,系列1)

    problem L2-006 树的遍历 (25分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(≤30), ...

  2. PAT甲级1020 Tree Traversals:[C++题解]树的遍历、由中序序列和后序序列递归建树

    文章目录 题目分析 题目链接 题目分析 题意重述:给定一棵二叉树的后序遍历序列和中序遍历序列,让求层次遍历的序列. 分析: 后序遍历:先 左子树.右子树 ,最后再遍历根结点. 中序遍历:先左子树,再根 ...

  3. 二叉树:通过前序遍历与中序遍历序列输出二叉树的后序遍历序列

    题目描述: 二叉树的前序.中序.后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历其左子树,最后遍历其右子树: 中序遍历:对任一子树,先遍历其左子树,然后访问根,最后遍历其右子树: 后序遍历: ...

  4. tree traversal (树的遍历) - inorder traversal (中序遍历)

    tree traversal (树的遍历) - inorder traversal (中序遍历) 1. tree traversal - 树的遍历 二叉树的遍历 (traversing binary ...

  5. 由前序序列与中序序列实现后序遍历

    二叉树是一种特殊的树,二叉树只有两个分支,分别是该节点的左儿子和右儿子. 前序遍历:就是先遍历根节点,然后再访问左子树与右子树.遍历子树的时候同样也是先遍历根节点然后在遍历他的左子树与右子树. 中序遍 ...

  6. 非递归先、中、后序遍历二叉树(C语言)

    文章目录 前言 一.二叉树非递归遍历算法 1.先序遍历 2.中序遍历 3.后序遍历 二.完整程序 三.运行结果实例 前言 本程序采用C语言编写,栈和二叉树的基本操作函数基于严蔚敏老师的<数据结构 ...

  7. 二叉树遍历方法——前、中、后序遍历(图解)

    目录 一.前序遍历 (1)递归版本 (2)非递归版本 二.中序遍历 (1)递归版本 (2)非递归版本 三.后序遍历 (1)递归版本 (2)非递归版本 四.总结 五.测试程序 六.程序输出 二叉树的遍历 ...

  8. java中二叉树_Java工程师面试1000题224-递归非递归实现二叉树前、中、后序遍历...

    224.使用递归和非递归实现二叉树的前.中.后序遍历 使用递归来实现二叉树的前.中.后序遍历比较简单,直接给出代码,我们重点讨论非递归的实现. class Node { public int valu ...

  9. 二叉树的前、中、后序遍历

    所谓二叉树遍历是按某种特定规则,依次对二叉树中的节点进行相应的操作,并且每个节点只操作一次.访问结点所做的操作依赖于具体的应用问题. 遍历是二叉树上最重要的运算之一,也是二叉树进行其它运算的基础. 二 ...

  10. 二叉树前、中、后线索化及对应前、中、后序线索化遍历

    二叉树前中后线索化及对应前中后序线索化遍历(图解) 二叉树线索化都是套路,会一种另外两种只是稍微修改一下代码 值得一提的是后序线索化输出,逆序思维将后序线索化看成前序,采用"前序线索化输出& ...

最新文章

  1. Linux笔记16.磁盘管理
  2. mysql查询各科前3_MySQL 查询各科前三的数据
  3. 充分利用系统的组策略 保障共享目录安全
  4. odoo10学习笔记十四:mixin其他功能模块
  5. 记录一次nginx502/504问题解决过程
  6. 贝叶斯网络结构学习之MCMC算法(基于FullBNT-1.0.4的MATLAB实现)
  7. 泛微OA数据库表说明
  8. 关于研究课题中的技术路线与实施方案
  9. java集成极光推送
  10. php7isapi,如何选择PHP套件中ISAPI和FastCGI模式的版本?_护卫神
  11. 韩顺平java学习day1
  12. Photoshop中的标尺、参考线
  13. 苹果手机内屏幕出现彩色条纹怎么办
  14. matlab筛选表格数据导出,excel表格里怎么将筛选数据导出-Excel表格在进行筛选,我如何可以导出所有筛选出来......
  15. 【JavaScript 教程】第六章 数组18—push() :将一个或多个元素添加到数组的末尾...
  16. 关于WPS中公式用不了的问题
  17. P2327 [SCOI2005]扫雷(递推)
  18. websocket 断网消息补发
  19. 乘势5G 车联网规模商用已见曙光。
  20. html 滚动 切换背景,在滚动页面时渐变切换背景色

热门文章

  1. ⭐算法入门⭐《堆》中等02 —— LeetCode 703. 数据流中的第 K 大元素
  2. 基准测试神器 - JMH [ Java Microbenchmark Harness ]
  3. 【心得】Man at Work3--猎人的青春!
  4. Linux安装围棋AI(q5go和katago)
  5. JS 通过百度地图获取详细地址及经纬度
  6. RNA-seq流程学习笔记(10)-使用HTSeq-count软件对reads进行计数
  7. YOLOX之绘制AP图与损失曲线
  8. 谈谈Spring Ioc的理解
  9. java怎么通过坐标定位控件_[已解决] 可以定位到控件, 但每次执行 click () 方法会报空指针错误 java.lang.NullPointerException...
  10. [实训题目EmoProfo]基于深度学习的表情识别服务搭建(一)