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

时间:2022-05-20 11:26:46
四种遍历方式:前序、中序、后序遍历,按层遍历;所谓“前中后”是以根节点的遍历顺序的位置说的。 前序:根节点-左节点-右节点 中序:左节点-根节点-右节点 后序:左节点-右节点-根节点 遍历规则:从第一层级开始,若节点还有子节点,就往下一层进行遍历,保证每层的遍历方式都是前序(中、后),子节点遍历完毕后,再回到上一层继续遍历 以下为例: 二叉树的前序中序后序遍历顺序详解 我们详细的讲一下中序遍历顺序: 用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