二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树中所有结点,使得每个结点都能被访问并且只被访问一次!
不同于普通的顺序,循环,双向等这些线性结构遍历方式,树的结点之间不存在唯一的前驱和后继,因此下一个被访问的结点选择很多。下面我们分别介绍四种二叉树的遍历方式(类似递归)。
1、前序遍历(根-左-右)
若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树。
2、中序遍历(左-根-右)
若二叉树为空,则空操作返回,否则从根结点开始(注意并不是先访问根结点),中序遍历根结点左子树,然后访问根结点,最后中序遍历右子树。
3、后序遍历(左-右-根)
若二叉树为空,则空操作返回;否则从根结点开始(注意不是先访问根结点),先后序遍历左子树,再后序遍历右子树,最后访问根结点。
4、层序遍历
若二叉树为空,则空操作返回,否则从树的第一层,即根结点开始访问,从上至下逐层遍历,在同一层里,按从左到右访问。
BY ZJQ