二叉树的遍历分为:
深度优先搜索(Depth First Search)
是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。深度优先搜索二叉树是先访问根结点,然后遍历左子树接着是遍历右子树,因此我们可以利用堆栈的先进后出的特点,先将右子树压栈,再将左子树压栈,这样左子树就位于栈顶,可以保证结点的左子树先与右子树被遍历。
广度优先搜索(Breadth First Search)
是从根结点开始沿着树的宽度搜索遍历,可以利用队列实现广度优先搜索
二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列