暑期算法集训之树的前序、中序、后序、层序篇:树的遍历模式

今天我们们先来看一道例题:

A. 树的遍历

这道题目一开始我不懂什么是前序、中序、后序和层序,也不懂他们的遍历方式,于是我看到了这篇博客:(转)【数据结构】理解二叉树的三种遍历--前序、中序、后序 +层序(简明易懂) 

经过学习后,我来讲讲对这个知识的理解:

树的前序、中序、后序

对于这三个树的遍历方式,其实根据名称就可以写出一些简写:

前序:根左右        中序:左根右        后序:左右根       

也就是说名称的方位就是根的方位,而左右依次按序。我依次讲解:

前序

 先找根,再找左,左边没有了找右边:

每一个颜色代表每一层(不是树的层)的根左右的查找,这样可以清晰的表现出前序排列的根左右的关系,首先找到根1,然后查找根1的左边的节点,以左边的节点作为根2,再查找根2左边的节点,而这个节点下面已经没有节点,那就找到根2的右边那个节点,这里展示了对于根2的根左右顺序的查找,然后左边查找完毕后根据根1的根左右顺序,查找根1的右边节点,后面同理。

中序

 

这里补充一下,根的顺序也是此根被查找到的顺序,这里是左根右,也就是最先找到左的位置,那节点1的左边是节点2,节点2的左边是节点4,也是最后一个节点,那么就把4查找到了,找到了最左的,那依次往回找到最左的根,也就是节点2,然后查找到节点2这个根的右边,也就是节点5,至此节点1的左边全部查找完毕,然后根据左根右,左边查找完毕,那就查找根1(也就是当前的节点1),然后查找节点1的右边,右边和左边同理。

后序

根据后序的左右根的规则,我们先找到最左边的节点,也就是节点4,然后再找到节点4的根的右边的节点(有点绕,理解一下),也就是节点5,然后查找前面两个节点的根节点,也就是2,然后以节点2作为1的左节点,再查找节点1的右边,也就是节点3,此时节点3也要根据左右根的规则,先找出左节点,也就是节点6,然后找出右节点,也就是节点7,然后再查找根,也就是节点3,最后再查找节点2和3的根,也就是节点1。

我相信到这里大家都可以理解了吧??不理解的同学可以画一颗树,然后脑子里时刻记住三个顺序的查找规则,自己徒手画一次,我相信你们一定可以理解的!!!

层序

为什么我把层序单独拿出来呢?因为层序没有根、左、右这三个方位的查找顺序规则,而是按照树的层的顺序来查找的,下面我们根据上面的方法再画一下:

其实层序的理解还是很简单的,只要按照层的顺序优先,节点从左到右的顺序其次,就可以成功查找了!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LifeGPT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值