快速手写二叉树前、中、后序遍历结果
注:本方法来自bobo老师
-
原理:
每个节点都有三次访问机会:第一次是访问左子树之前,需要先访问节点才能继续访问左子树;第二次是访问完左子树后,回到节点(为后续访问右子树做准备);第三次是访问完右子树后,再次回到节点
在每个节点三次被访问的位置画圆圈,如图 -
操作:
- 从根节点的第一个圆圈出发,沿着线走,如图
-
遍历的三种情况:前序、中序、后序,分别对应三个圆圈。是哪种情况,访问到节点的对应位置的圆圈就输出
* 比如中序遍历:从根节点28的第一个圆圈出发,沿着线走,因为是中序遍历,需要访问第二个圆圈时才输出对应节点,所以一直走到 13 的第二个圆圈时,输出13;接着访问到 22 的第二个节点时,输出 22,往后以此类推。
我觉得在理解了前、中、后序遍历的思想后,运用这种方法可以在考场或者其他需要的地方快速手写遍历结果