二叉树的先序遍历和中序遍历分析(递归)

我记得刚开始学习二叉树遍历时,对二叉树中遍历的递归调用很陌生,不知道深层次的原理,所以借着软考复习数据结构的机会就深层次的分析一下二叉树的遍历过程。

在这里我结合二叉树遍历的过程图,对二叉树进行分析。

首先我要分析的二叉树的结构式:

首先我们来看先序遍历的过程图:

二叉树的先序遍历中,首先输出A,然后调用DLR(B)输出B,再调用DLR(D),输出D,当遇到G的左右子树为空时返回。

二叉树中序遍历的过程图:

在二叉树的中序遍历中,首先LDR(A)调用LDR(B),LDR(B)在调用LDR(D),当LDR(D)的左子树为空时,输出第一个元素D,然后D的右子树继续递归调用,实现过程如图所示,在图中标记了整个执行过程和输出的结果。如果有什么疑问的地方,请留言,欢迎讨论!

原文地址:https://www.cnblogs.com/huxianlu/p/3362591.html