二叉树的遍历在数据结构之二叉树(1):基础知识中已经说过,此处不再赘述,这里我们只需要将其用代码实现即可。
这里我们还是用递归的方法。
public void recursion(TreeNode node){
if(node != null){
recursion(node.leftChild);
//输出在哪就是什么遍历(前,中,后)
System.out.println(node.value);
recursion(node.rightChild);
}
}
递归实现原理(以中序遍历为例):
如下图为一个二叉树的结构示意图。
方法入栈示意图:
先是这个递归方法入栈。
recursion(node.leftChild);
当node = null时,开始弹栈。
然后执行第二条语句进行输入。
输出之后第二个递归方法入栈,以此类推,一直到方法全部弹栈,遍历结束。