二叉树的中序遍历,指的是从根结点出发,按照以下步骤访问二叉树中的每个结点:
- 先进入当前结点的左子树,以同样的步骤遍历左子树中的结点;
- 访问当前结点;
- 最后进入当前结点的右子树,以同样的步骤遍历右子树中的结点。
举个简单的例子,下图是一棵二叉树:
图 1 二叉树
中序遍历这棵二叉树的过程是:
进入结点 1 的左子树,访问左子树中的结点;
进入结点 2 的左子树,访问左子树中的结点;
试图进入结点 4 的左子树,但该结点没有左子树;
访问结点 4;
试图进入结点 4 的右子树,但该结点没有右子树;
访问结点 2;
进入结点 2 的右子树,访问右子树中的结点;