本文目录
- 一、树的遍历
- 二、遍历顺序
- 先序遍历
- 中序遍历
- 后序遍历
- 层序遍历
- 三、代码实现
系列目录
一、树的遍历
树的遍历:从根节点出发,按照某种顺序依次访问且只访问一次树中的所有节点。
从“树的遍历”的定义可知,有三个关键点:
- 从根节点出发;
- 访问树中的所有节点,且只访问一次;
- 遍历顺序:先序遍历、中序遍历、后序遍历和层序遍历;
补充:写这篇文章的目的是为了方便后面二叉查找树、AVL树、红黑树的实现验证做铺垫。后续相关二叉树文章中的实现代码都会通过本文中的工具类cn.wxy.blog.TraversalTreeTool来做验证。
二、遍历顺序
1.先序遍历
遍历流程:从根节点出发
- 首先,处理当前节点
- 然后,处理左子树
- 处理左子树的含义:处理完左孩子作为根节点的那颗子树上的所有节点
- 处理左子树的流程和本流程一致,相当于把左孩子看作当前节点
- 最后,处理右子树
- 处理右子树的含义:处理完右孩子作为根节点的那颗子树上的所有节点
- 处理右子树的流程和本流程一致,相当于把右孩子看作当前节点
如下示例,先序遍历的顺序:A B D G H C E I F
2.中序遍历
遍历流程:从根节点出发