三种遍历的简单介绍
如上图所示,图左为一颗普通二叉树,而图右分别是其前序、中序、后序遍历的结果。
所谓前、中、后,是依据根结点
被访问的顺序定义的。
- 前序遍历:根左右
- 中序遍历:左根右
- 后序遍历:左右根
快速方法
快速方法一共有两步:一是打标记;二是描边。
- 打标记位置
遍历顺序 | 标记位置 |
---|---|
前序遍历 | 结点左方 |
中序遍历 | 结点下方 |
后序遍历 | 结点右方 |
- 描边:从根结点上方开始从树的左边开始描边直至回到起点,在此过程中依次
经过标记的顺序
即是对应的遍历顺序。
具体示例
下面是三种遍历的具体示例
- 前序遍历
- 中序遍历
- 后序遍历
通过验证,不难发现使用这种方法得到的遍历序列与根据定义得到的遍历序列是一致的。
另外,对于多叉树的前序遍历和后序遍历,该方法也是适用的。
(多叉树无中序遍历,因孩子结点过多无法确认根的访问顺序)