第一生活网

非递归中序遍历二叉树(中序遍历二叉树)

田初心
导读 大家好,我是小一,我来为大家解答以上问题。非递归中序遍历二叉树,中序遍历二叉树很多人还不知道,现在让我们一起来看看吧!1、中序遍历

大家好,我是小一,我来为大家解答以上问题。非递归中序遍历二叉树,中序遍历二叉树很多人还不知道,现在让我们一起来看看吧!

1、中序遍历的递归算法定义:

2、 若二叉树非空,则依次执行如下操作:

3、 (1)遍历左子树;

4、 (2)访问根结点;

5、 (3)遍历右子树。

6、中序遍历的算法实现

7、 用二叉链表做为存储结构,中序遍历算法可描述为:

8、 void InOrder(BinTree T)

9、 { //算法里①~⑥是为了说明执行过程加入的标号

10、 ① if(T) { // 如果二叉树非空

11、 ② InOrder(T->lchild);

12、 ③ printf("%c",T->data); // 访问结点

13、 ④ InOrder(T->rchild);

14、 ⑤ }

15、 ⑥ } // InOrder

本文到此讲解完毕了,希望对大家有帮助。