zxjssf

不一样的二叉树遍历(小学生都会)

二叉树遍历

二叉树的遍历分为三种,分别是前序遍历,中序遍历和后序遍历。(在这里,我会介绍两种方法)

前序遍历:先根后左子树最后右子树。

中序遍历:先左子树后根最后右子树。

后序遍历:先左子树后右子树最后根。

 

举个中序遍历例子

 

原图网址:https://img2018.cnblogs.com/blog/1706194/201910/1706194-20191006152149771-1726377171.png

其它的遍历可以以此类推。这是标准的二叉树遍历方法。

高端方法

刚才的做法很标准,也很好理解,但有些慢。下面的方法显然要省时,简单一些。

 

-----------------------------------------------------华丽的下划线--------------------------------------------------------

 

还以这幅图为例

我们把这颗树以根节点为起点圈起来。

当这条线经过一个节点的前方时,则这个点为前序遍历的一个点。

当这条线经过一个节点的中间时,则这个点为中序遍历的一个点。

当这条线经过一个节点的后方时,则这个点为后序遍历的一个点。

还以中序遍历为例,经过点的顺序为BDCEHGKF。

端大气上档次,我用这个方法压线过了初赛。

不要问我原理,我也不知道。

 

posted @ 2019-11-09 19:08  zxjssf  阅读(292)  评论(0编辑  收藏  举报