二叉树的前序中序后序遍历顺序详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的前序中序后序遍历顺序详解相关的知识,希望对你有一定的参考价值。

四种遍历方式:前序、中序、后序遍历,按层遍历;所谓“前中后”是以根节点的遍历顺序的位置说的。
前序:根节点-左节点-右节点
中序:左节点-根节点-右节点
后序:左节点-右节点-根节点
遍历规则:从第一层级开始,若节点还有子节点,就往下一层进行遍历,保证每层的遍历方式都是前序(中、后),子节点遍历完毕后,再回到上一层继续遍历
以下为例:
技术分享
我们详细的讲一下中序遍历顺序:
用arr来记录遍历顺序,每一层遍历过程中保证遵守“左中右”的顺序
第一层,顺序是b-a-c,但b有子节点,进入下一层(arr=null );
顺序是d-b-空,但d有子节点,进入下一层(arr=null );
顺序是空-d-g,arr=空dg,d节点完成,返回上一层(arr=空dg);
d已完成,arr=空dg+b+空(arr=空dgb空);
b已完成,arr=空dgb空+a,c有子节点,进入下一层(arr=空dgb空 a);
顺序是e-c-f,arr=空dgb空 a +e+c,但f有子节点,进入下一层(arr=空dgb空aec);
顺序是空-f-h,arr=空dgb空 aec+空+f+h;
遍历完成,顺序arr=空dgb空aec空fh,忽略空节点,中序遍历顺序即为dgbaecfh
 
同理,前序为 abdgcefh,后序为 gdbehfca

以上是关于二叉树的前序中序后序遍历顺序详解的主要内容,如果未能解决你的问题,请参考以下文章

二叉树的前序中序后序层次遍历的原理及C++代码实现

二叉树中,啥是前序,中序。后序!

二叉树的前序中序后序遍历访问顺序是怎么回事啊?搞不懂

二叉树的前序中序后序层次遍历的递归与非递归实现

二叉树的前序中序后序层次遍历的递归与非递归实现

二叉树的前序中序后序