前序,中序,后序遍历子树,这三种在分别遍历左右子树的时候顺序为什么有的是从上到下有的从下到上?
答案:1 悬赏:0
解决时间 2021-02-22 09:50
- 提问者网友:伴风望海
- 2021-02-21 19:44
前序,中序,后序遍历子树,这三种在分别遍历左右子树的时候顺序为什么有的是从上到下有的从下到上?
最佳答案
- 二级知识专家网友:夜余生
- 2021-02-21 20:56
二叉树的遍历都是从根->左->右,的顺序的,只是在打印时有些方法会先把前面的保留到后面打印。非递归遍历方法就是用保留的方法实现的。
搜索到结点和打印遍历结点的顺序是不同的,下面说一下遍历的特点。
前序的特点:我们注意研究一下前序遍历的结果,你会发现,对于每个二叉树(只有根结点,左结点,右结点。一棵树,是一个个小的二叉树组成)在结果中,你都会发现,根结点必定在左结点前。你可以认真看看,就算,是子树中也是根结点在左结点前。(比如,左结点成了另一个子树的根结点,这个左结点对应的上一级根结点,也会显示在这个左结点之前)
中序的特点:经过前序遍历的分析 ,我们可以直接得出,中序遍历结果中,每个根结点都会放在左结点和右结点中间。当然发生如,A的左结点是B,B的右结点是C,时中序遍历结果会是
BCA,虽然A未在中间,但我们要分析,对于A是根结点,左结点B在其前面,对于B是根结点,右结点C在其后面。这符合根结点在左右结点中间的特点。
后序的特点:是先遍历左右结点,才返回来遍历根结点。参照前序和中序,就能明白
搜索到结点和打印遍历结点的顺序是不同的,下面说一下遍历的特点。
前序的特点:我们注意研究一下前序遍历的结果,你会发现,对于每个二叉树(只有根结点,左结点,右结点。一棵树,是一个个小的二叉树组成)在结果中,你都会发现,根结点必定在左结点前。你可以认真看看,就算,是子树中也是根结点在左结点前。(比如,左结点成了另一个子树的根结点,这个左结点对应的上一级根结点,也会显示在这个左结点之前)
中序的特点:经过前序遍历的分析 ,我们可以直接得出,中序遍历结果中,每个根结点都会放在左结点和右结点中间。当然发生如,A的左结点是B,B的右结点是C,时中序遍历结果会是
BCA,虽然A未在中间,但我们要分析,对于A是根结点,左结点B在其前面,对于B是根结点,右结点C在其后面。这符合根结点在左右结点中间的特点。
后序的特点:是先遍历左右结点,才返回来遍历根结点。参照前序和中序,就能明白
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯