二叉树的遍历方法
二叉树的遍历就是按某种策略访问二叉树中每一个节点并且仅访问一次的过程。若以字母D、L、R分别表示访问根节点、遍历根节点的左子树、遍历根节点的右子树,则二叉树的遍历方式有6种:DLR、LDR、LRD、DRL、RDL、RLD。如果规定先左后右则只有3种遍历方式:即DLR、LDR、LRD,分别被称为二叉树的先序(又称前序)遍历,中序遍历和后序遍历。
二叉树的三种遍历
- 先序遍历
操作步骤:
若二叉树非空:
(1)访问根节点
(2)按先序遍历左子树
(3)按先序遍历右子树
- 中序遍历
操作步骤:
若二叉树非空:
(1)按中序遍历左子树
(2)访问根节点
(3)按中序遍历右子树
- 后序遍历
操作步骤:
若二叉树非空:
(1)按后序遍历左子树
(2)按后序遍历右子树
(3)访问根节点
举例说明
- 先序遍历
先序为“根左右“,先序遍历序列为:F、D、B、A、C、E、G、I、H、J - 中序遍历
中序为”左根右“,中序遍历序列为:A、B、C、D、E、F、G、H、I、J - 后序遍历
后序为”左右根“,后序遍历序列为:A、C、B、E、D、H、J、I、G、F