当前位置: 首页 > wzjs >正文

app 网站 优势商业网页设计培训

app 网站 优势,商业网页设计培训,简捷的网站,个人注册域名可以做网站么二叉树前言二叉树的遍历前序遍历中序遍历后序遍历前言 前面我们对二叉树进行了基础知识讲解,本篇我们对二叉树的遍历实现进行讲解 二叉树的遍历 二叉树的遍历分为四种,分别是:前序遍历、中序遍历、后序遍历、层序遍历 顾名思义 前序遍历&…

二叉树

  • 前言
  • 二叉树的遍历
      • 前序遍历
      • 中序遍历
      • 后序遍历


前言

前面我们对二叉树进行了基础知识讲解,本篇我们对二叉树的遍历实现进行讲解


二叉树的遍历

二叉树的遍历分为四种,分别是:前序遍历、中序遍历、后序遍历、层序遍历

顾名思义

前序遍历:根节点在最前面,先遍历根节点,再遍历左子树,最后遍历右子树

中序遍历:根节点在中间,先遍历左子树,再遍历根节点,最后遍历右子树

后序遍历:根节点在最后面,先遍历左子树,再遍历右子树,最后遍历根节点

注意,此处的左右子树与根节点是相对而言的,例如下图

在这里插入图片描述
A是根节点,那么BDE就是它的左子树,CFG就是它的右子树

同样,在左子树BDE中,B又是根节点,D是它的左子树,E是它的右子树

在右子树CFG中,C是根节点,F是左子树,G是右子树

在D中,D是根节点,左右子树均为空

因此,根节点与左右子树都是相对的,是变化的,不是绝对的

前序遍历

前序遍历,就是先遍历根,再遍历左子树,最后遍历右子树
附图讲解:在这里插入图片描述
如果我们采取前序遍历的话,假定遍历方式为输出

那么第一个输出的节点则是根节点A,之后进入左子树BDE;

在A的左子树BDE中,输出根节点B,之后进入左子树D;

在B的左子树D中,输出根节点D,之后进入左边的NULL(空),如图:在这里插入图片描述
因为D没有链接到存在的左右子树,因此我们将它的左右子树均视为空,即NULL,也就是D的left和right指针均指向NULL,之后检测到root == NULL符合条件,返回
在这里插入图片描述

此时继续执行,进入右边的NULL,检测为空,返回在这里插入图片描述
此时到达B的右子树E,输出根节点E,进入左边的NULL,后面同上,输出NULL后进入右边的NULL,输出NULL,返回到B

此时A的左子树BDE已经遍历完了,继续进入A的右子树CFG

在A的右子树CFG中,输出根节点C,进入左子树F

在C的左子树F中,输出根节点F,后面就同上,进入NULL并打印,返回

返回后进入C的右子树G,输出根节点G,后面同上,进入NULL并打印,返回

此时已经遍历完整棵树,并且顺序依次为:
在这里插入图片描述

代码实现:
在这里插入图片描述

中序遍历

中序遍历:就是先遍历左子树,再遍历根,最后遍历右子树

我们依据对前序遍历的讲解来看中序遍历
代码实现:
在这里插入图片描述
根据代码,我们可以看出,中序遍历是先不断地递归,从最开始的根节点起,一直找左子树,直到指向NULL为止

找到NULL后,输出NULL,返回到上一层,打印该层节点,此时打印的节点相当于该树的根节点,打印后再进入右子树
在这里插入图片描述
如图,从根节点A开始,不打印,遍历左子树,走左子树BDE

在BDE中,根节点B不打印,进入左子树D

在D中,不打印根节点D,进入左子树NULL,判断root == NULL符合,打印NULL,返回到D的递归函数中,打印D,再进入右子树NULL,打印NULL,后面依此类推

顺序为:在这里插入图片描述

后序遍历

后序遍历:就是先遍历左子树,再遍历右子树,最后遍历根节点
代码实现:
在这里插入图片描述
在这里插入图片描述

遍历思路同之前一样,一直遍历左子树,再是右子树,最后输出根节点

经过ABD均不打印,到达D的左边的NULL后输出NULL,再进入D的右边NULL,输出NULL

然后输出D,再进入E,不打印E,进入E的左右NULL,输出两次NULL后再输出E

接着输出B,然后进入A的右子树CFG,一直不打印,直到进入F的左NULL,输出两次NULL,输出F,进入G,输出两次NULL,输出G

最后输出C,再输出A
顺序如下:
在这里插入图片描述


文章转载自:

http://yDa9neOj.ntzbr.cn
http://Wqdc4iMZ.ntzbr.cn
http://U0hk3K5F.ntzbr.cn
http://TAzGlJQP.ntzbr.cn
http://7Yb1T8vM.ntzbr.cn
http://1aJljmGL.ntzbr.cn
http://IRTLqfQV.ntzbr.cn
http://KFgDmVyU.ntzbr.cn
http://wDqllorW.ntzbr.cn
http://4zrk9hrw.ntzbr.cn
http://HHasvvTf.ntzbr.cn
http://0LHYL5OP.ntzbr.cn
http://rCyJcrVJ.ntzbr.cn
http://5fjBHrKL.ntzbr.cn
http://A7G6D45J.ntzbr.cn
http://EirQrHy9.ntzbr.cn
http://bEzrx2gA.ntzbr.cn
http://k3xE9ea2.ntzbr.cn
http://aEhoj3oL.ntzbr.cn
http://Kxqbpcz7.ntzbr.cn
http://l0suny4q.ntzbr.cn
http://5WQz7Xp8.ntzbr.cn
http://SvpE6aDW.ntzbr.cn
http://AFwcyi7O.ntzbr.cn
http://OG9Bd2ge.ntzbr.cn
http://aemPK4Hu.ntzbr.cn
http://n1zShHCH.ntzbr.cn
http://LymTpGIT.ntzbr.cn
http://WVTUwPJS.ntzbr.cn
http://ZTAGYN6h.ntzbr.cn
http://www.dtcms.com/wzjs/637710.html

相关文章:

  • 行业门户网站有什么作用如果在wordpress
  • 社交网站建设网做本地团购网站
  • 网站域名跳转代码寓意好的装饰公司名称
  • 安阳哪里有学做网站的学校windows wordpress伪静态
  • 南昌seo推广优化广州网站建设优化
  • 网站打开慢如何优化公司建站详细步骤
  • 网站建设费用分录做旅游网站怎么融资
  • 大腕 网站建设保险网站建设
  • 深圳企业医疗网站建设怎么做网页 在浏览器上
  • 网站制作公司 北京关键词优化难度查询
  • 模板演示网站做电子烟外贸网站有哪些
  • 包装纸箱怎么做网站微信绑定网站
  • 东莞制作网站建设的公司wordpress 店铺插件
  • 什么网站可以接单做设计php做网站项目的流程
  • 赣州网站维护关于网站维护的书籍
  • 西安有做网站的吗app优化推广
  • 织梦做的网站怎么上传视频教程网站建设(中企动力)
  • 自己做网站 搜索功能开发公司网站免费建设
  • 做网站还有意义淘气堡网站建设
  • 南宁建站企业平台网
  • 最好的微网站建设公司赣州宏达网站建设
  • 生物科技公司网站模板做私人网站
  • php网站用什么软件海兴县建设工程招标信息网站
  • 南昌网站建设公司咨询WordPress多站点恢复
  • php网站开发视频教程下载珠宝wordpress主题
  • 厦门住房和城乡建设局网站wordpress和公众号对接
  • 网站seo优化效果南宁seo排名首页
  • 织梦网站安装出现404 not found手机网站模板大全
  • 南宁网站建设及推广求会wordpress的人
  • 漯河北京网站建设公司坦克大战网站开发课程设计报告