二叉树的遍历可以分为前序、中序、后序、层次遍历。前中后是指何时访问中间节点,即前序遍历,遍历节点的顺序为:中―>左―>右;中序遍历,遍历节点的顺序为:左―>中―>右;后序遍历,遍历节点的顺序为:左―>右―>中。前序遍历1.每遍历一个节点的时候,先节点入栈,然后寻找当前节点的左子节点。所以在非递归的实现中要先把根节点入栈,然后再把左子树入栈直到左子树为空,此时停止入栈。此时栈顶就是需要访问的元素,所以直接取出访问p。判断结束的条件是p不为空或者栈不为空,若果两个条件都不满足的话,说明所有节点都已经访问完成。

Java二叉树的四种遍历(递归和非递归)

Java二叉树的四种遍历(递归和非递归)

Java二叉树的四种遍历(递归和非递归)

Java二叉树的四种遍历(递归和非递归)

Java二叉树的四种遍历(递归和非递归)

Java二叉树的四种遍历(递归和非递归)