package com.yc.test;
import java.util.ArrayList;
import java.util.List;
import com.yc.tree.ThreeLinkBinTree;
import com.yc.tree.ThreeLinkBinTree.Node;
/**
*
* @author wb
*
*遍历二叉树指的是按某种规律依次访问二叉树的每个节点,对二叉树的遍历过程就是将非线性结构的二叉树中的节点排列成线性序列的过程。
*如果采用顺序结构来保存二叉树,程序遍历二叉树将非常容易,无需进行任何思考,直接遍历底层数组即可。如果采用链表来保存二叉树的节点,则有以下两种遍历方式:
*深度优先遍历:这种遍历算法将先访问到树中最深层次的节点。
*广度优先遍历:这种遍历算法将逐层访问每层的节点,先访问根节点,然后访问第二层的节点……以此类推。因此广度优先遍历又被称为按层遍历。
*
*对于深度优先遍历算法而言,他可分为以下三种:
*(1)先序遍历二叉树
*(2)中序遍历二叉树
*(3)后序遍历二叉树
*
*如果L、D、R表示左子树、根、右子树,习惯上总是先遍历左子树,后遍历右子树,根据遍历根节点的顺序不同,上面三种方法可以表示如下:
*DLR:先序遍历
*LDR:中序遍历
*LRD:后序遍历
*
******************************************************