转载---二叉树的前序/中序/后续遍历。

https://blog.csdn.net/qq_33243189/article/details/80222629

二叉树遍历分为三种:前序、中序、后序,其中序遍历最为重要。为啥叫这个名字?是根据根节点的顺序命名的。

比如上图正常的一个满节点,A:根节点、B:左节点、C:右节点,前序顺序是ABC(根节点排最先,然后同级先左后右);中序顺序是BAC(先左后根最后右);后序顺序是BCA(先左后右最后根)。

    

比如上图二叉树遍历结果

    前序遍历:ABCDEFGHK

    中序遍历:BDCAEHGKF

    后序遍历:DCBHKGFEA

分析中序遍历如下图,中序比较重要(java很多树排序是基于中序,后面讲解分析)

前序遍历(DLR),是二叉树遍历的一种,也叫做先根遍历、先序遍历、前序周游,可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。
  看图就很清晰,我就不阐述我的理解了。

在这里插入图片描述
前序遍历结果:ABDGHCEF

  中序遍历:中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历、中序周游。在二叉树中,中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。
在这里插入图片描述
中序遍历结果:GDHBAEICF

  后序遍历:后序遍历(LRD)是二叉树遍历的一种,也叫做后根遍历、后序周游,可记做左右根。后序遍历有递归算法和非递归算法两种。在二叉树中,先左后右再根,即首先遍历左子树,然后遍历右子树,最后访问根结点。

  这里加一部分我的理解吧:后序遍历就是只要这个结点还有子树,就按照从左到右先遍历子树。

在这里插入图片描述
后序遍历结果:GHDBIEFCA

posted on 2020-08-05 17:55  白嫖老郭  阅读(182)  评论(0编辑  收藏  举报

导航