二叉树遍历的超简单方法(详细、简单)

二叉树遍历的超简单方法

参考链接:https://wenku.baidu.com/view/e5463e4203d8ce2f0166230a.html
已修改部分问题。

三种常见二叉树的遍历:

先序遍历的递归算法定义(简称根左右)
若二叉树非空,则依次执行如下操作:
  1.访问根结点;
  2.遍历左子树;
  3.遍历右子树。
中序遍历的递归算法定义(简称左根右)
若二叉树非空,则依次执行如下操作:
  1.遍历左子树;
  2.访问根结点;
  3.遍历右子树。
后序遍历得递归算法定义(简称左右根)
若二叉树非空,则依次执行如下操作:
  1.遍历左子树;
  2.遍历右子树;
  3.访问根结点。
在这里插入图片描述
在这里插入图片描述

现在以上面的二叉树为例子,说下三种遍历的方法

先序遍历(简称根左右):
1.从最上的第一层根结点F开始,按照 根左右 的原则,写出先序遍历顺序:FCE
2.继续对第二层进行分析,第二层有结点C和E。可以看见C、A、D和E、G可以组成两组小二叉树,那么现在对这两组小二叉树进行先序遍历,得出答案分别是CAD和EG。好了,现在把我们刚做出的答案CAD和EG代进去第一步做出的答案FCE里面,就得出答案:FC(AD)E(G)了
3.同理对第三层进行分析,D、B和G、H、P可以组成两组小二叉树,我们就对他们进行先序遍历,结果就是DB和GHP了。同样地,把这两个答案代进上一步的结果里面,答案就是FC(AD(B))E(G(HP))
4.把第三步答案里面的括号全部去掉,得出最终答案FCADBEGHP

中序遍历(简称左根右):
1.从最上的第一层根结点F开始,按照 左根右 的原则,写出先序遍历顺序:CFE
2.继续对第二层进行分析,写出答案(A)C(D)FE(G)
3.对第三层进行分析,写出答案(A)C((B)D)FE((H)G(P))
4.去掉括号,得出:ACBDFEHGP

后序遍历(简称左右根):
1.从最上的第一层根结点F开始,按照 左右根 的原则,写出先序遍历顺序:CEF
2.继续对第二层进行分析,写出答案(AD)C(G)EF
3.对第三层进行分析,写出答案(A(B)D)C((HP)G)EF
4.去掉括号,得出:ABDCHPGEF

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么看我装的sql能不能用_深入浅出sql优化(三)之单表索引优化

大家好,我是闲水,每天更新java最新最热技术,对java感兴趣的朋友记得关注一下哦。注意 :这是SQL性能优化第三章,点击关注查看前置内容。上篇文章我们主要了解了索引优化的标尺"Explain"怎么用,这一…

java类加载顺序(spring容器下)

执行顺序:父类静态块–>子类静态块–>父类非静态块–>父类构造方法–>子类非静态块–>子类构造方法–>自动装载的方法 子类和父类均加上Service注解,将其交给spring容器管理。 父类: Service public class Father {publ…

jwt token 太长_理解 JWT 鉴权的应用场景及使用建议

JWT 介绍JSON Web Token(JWT)是一个开放式标准(RFC 7519),它定义了一种紧凑(Compact)且自包含(Self-contained)的方式,用于在各方之间以JSON对象安全传输信息。这些信息可以通过数字签名进行验证和信任。可以使用秘密(使用HMAC算法)或使用RSA的公钥/私钥…

microsoft vbscript编译器错误怎么解决_win7系统ie应用程序错误怎么办 ie应用程序错误解决方法【详解】...

windows系统自带的ie浏览器很少用户会去使用到,它运行起来比其他的浏览器要慢很多,而且经常会出现各种各样的问题,最近有位win7系统用户,在使用ie浏览器的时候,发生了应用程序错误的情况,那么win7系统ie应用…

修改固态硬盘的物理序列号_买固态怕踩坑?收下这些软件,轻松鉴别好坏

再有半个月,就迎接年中的促销旺季。不少朋友都希望趁着各种优惠、跳楼价,组一台梦想机、升级一下自己的电脑。说到体验升级,相信就算是DIY新手和硬件小白都知道,要想电脑快,必须选固态。但是固态参数多,又是…

《常用控制电路》学习笔记——数控锁相环调速电路

序言 今天开始我将把自己学习《常用控制电路》的一些内容发到互联网上,希望能和大家交流学习。 这本书主要介绍了一系列控制电路的经典案例,进行了电路和代码的设计,我将把这本书中学习到的内容和学习的过程尽量准确的分享出来与大家交流&…

《常用控制电路》学习笔记——数字控制直流电动机调速电路

书中该节讲述的电路通过ADC芯片将电位器的阻值转换为电压量,然后使用单片机输出PWM进行电路控制。本电路也可扩展应用至需要模拟量输入与输出的场合。 目录 一、系统设计思路 二、各模块电路分析 2.1电路构成 2.2工作状态分析 三、程序分析 3.1 变量定义 3.…

《常用控制电路》学习笔记——数控直流恒流源电路

书中该项目内容设计了一个从交流220V市电作为供电电源的恒流源电路,并且此电路可由加减计数器74LS193控制输出的电流大小。 目录 一、系统方案 二、各模块电路分析 整流滤波及稳压电路 数字量控制电路 数模转换电路 数控恒流源产生电路 三、电路仿真结果 四…

图像太宽无法输出请裁剪图像或降低分辨率然后重试_真·无监督!延世大学提出图像到图像无监督模型,实验结果超SOTA...

作者 | 蒋宝尚编辑 | 丛 末图像翻译目的是用模型将源域图像转换到目标域图像,通常涉及标签图到场景图的转换、图像风格、人脸的属性变换、标签图到场景图的转换。图像翻译任务自生成对抗网络提出就得到了快速发展,例如经典的pix2pix、CycleGAN、StarGAN。…

php serialize和json_encode哪个更快_世界 10 大编程语言,Java 不是第一,PHP 才第五...

来源:toutiao.com/a6764554659349676557/如果你是软件开发领域的新手,那么你会想到的第一个问题是“如何开始?”编程语言有数百种可供选择,但是你怎么发现哪个最适合你,你的兴趣和职业目标又在哪里呢?选择最…

tomcat7.0支持什么版本的jdk_恭喜你喜提JDK,那你知道JDK是什么吗?先来看看吧

点击蓝字关注一行JDK 大家都知道电脑的操作系统是由汇编和C语言写出,因此操作系统无法直接识别其他语言。这时我们就需要为我们写的Java程序配备一名翻译官 ----- 编译环境,将Java程序翻译成电脑可以识别的程序,C或者汇编。 那么对于这个…

我的python 入门 安装 -- hello world

我的python 安装–>“hello world” 最近老听到关于python的声音,而且越来越强烈。就好奇下载了下,在win10 的应用商店下载的 够傻瓜了吧 环境变量也不用配置 直接上手 hello world了 cmd 窗口 输入 python -v 正常显示 显示版本号 不能正常显示…

记录spring、springboot集成apollo配置中心

一, spring集成apollo,前提是apollo配置中心服务端已经在运行中 上面是我在阿里云服务搭建的apollo配置中心服务端,登录后的样子。没有搭建服务端的小伙伴,请先搭建好apollo的服务端 然后点击‘创建项目’,新建测试用的项目 填…

基本农田卫星地图查询_发现谷歌地图替代网站,卫星地图街景功能都能用

众所周知,由于谷歌地图(Google Maps)在国内不能访问,很多人就没有办法通过谷歌地图来获得服务。谷歌地图是目前全球最受欢迎的世界地图网站,在2005年以前,谷歌地图就收录了美国、英国、加拿大三个国家的地图…

记录 Linux crontab 的使用

记录一次简单的Linux定时任务----》每周定时备份数据库结构及数据 环境:阿里云服务器 vim 命令:输入i/a 进入输入模式,输入完成后,esc键,退出输入模式,确定无误后,输入“:wq”,保存退出 Linux 环…

python random函数_Python随机函数random使用详解

在python中用于生成随机数的模块是random,在使用前需要import, 下面看下它的用法。1、random.randomrandom.random()用于生成一个0到1的随机符点数: 0 < n < 1.0注意&#xff1a; 以下代码在Python3.5下测试通过&#xff0c; python2版本可稍加修改描述random() 方法返回…

Graphicsmagick linux 中文水印乱码-new

文章目录Graphicsmagick linux 中文水印l乱码&#xff08;中文显示成正方形&#xff09;本人在Windows上安装Graphicsmagick 并使用Graphicsmagick 添加中文水印成功&#xff0c;但是在Linux下一直乱码&#xff0c;现将解决办法分享给有需要的朋友。 1.Linux下默认安装Graphic…

postman 使用_Postman使用方法

一 Postman背景介绍用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的&#xff0c;用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基…

bool python 运算_python基础知识和pycharm安装

昨天大家对我(Python)有了一定的了解&#xff0c;那么今天带大家更加系统化的认识一下我&#xff0c;已经了解我的工作方式先说一下如果让我去做一件事情得需要那些“配置”&#xff0c;其实很简单的&#xff0c;不要把我想的太复杂&#xff0c;毕竟还是个单纯的孩子。让我做事…

视频显示边缘空白的真相

在多媒体开发过程中&#xff0c;难免会使用到video这一类型。但一直有部分开发者或产品人员总提出 “视频画面没有充满”其给定的窗口&#xff0c;其原因在于对视频不了解&#xff0c;想当然的去认为要“充满”。被问到此问题只能苦笑一声&#xff0c;哭笑不得。 先看下几个效果…