什么是树的先/中/后序遍历

前言

很久没有写c++教程(有几个月)了,今天来讲讲树

为什么之前不讲树因为我不会但我现在能写出一些树的选择题了

首先我们画一棵树:

有些潦草 

遍历是什么

我们要研究先/中/后序遍历,我们应该先知道什么叫遍历

遍历就是对每一个数访问一次,想我们之前写数组的时候,数组长度为n,然后我们循环1到n去研究数组的每一项,这就是遍历

在研究树的时候,我们的遍历就是访问树的每一个节点

先/中/后序就是我们遍历时的顺序(如果没有顺序的话,某个节点就可能访问多次)

先序遍历

先序遍历就是依次找树中的根节点,左孩子,右孩子

比如在上图中,先序遍历得到的遍历顺序就是124758639

中序遍历

很简单啊,那么中序遍历,就是依次找左孩子,根节点,右孩子

在上图中,中序遍历的顺序是:748532193

注意!!!我们找左孩子的时候,是找最左边的左孩子(7),很多人会找2而不是7

我们不应该找2,因为2是一个根节点,也不要找4, 4也是根节点,7不是根节点,是左孩子,我们先写7上去

7完了,我们要写4,因为没有左子树了,就找根节点,4是7的根节点

4没有右孩子,所以我们下一个找4的根节点(2)

2的根节点是1………………………………

这样找下去            

把图放这里方便你们看:

后序遍历

后序遍历是依次找左孩子,右孩子,根节点

和中序遍历一样,我们要注意,找到最左边和最右边

后序遍历的顺序是748652931

最左边是7,没有右孩子,所以找根节点4

接下来不!要!找!2!找8,他是右子树中的最左边……

找下去

总结

先序遍历顺序:根节点,左边,右边

中序遍历顺序:左边,根节点,右边

后序遍历顺序:左边,右边,根节点

我们发现,先中后的意思是根节点的位置,先序就是先找根节点


写完了

最近正在研究csp j的选择题因为我觉得代码题写不出来

还想说点别的话的,但不知道说什么

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值