计算机中中序遍历不懂,求解

如题所述

可以看一下下面的解释:

按照二叉树中序遍历的定义,无论是访问整棵树还是其子树,均应该遵循先访问根结点的左子树,然后访问根结点,最后访问根结点的右子树的规律。因此对于一棵
树t,如果t非空,首先应该进入t的左子树访问,此时由于t的根结点及右子树尚未访问,因此必须将t保存起来,放入栈中,以便访问完其左子树后从栈中取出
t,进行其根结点及右子树的访问,在整个二叉树中序遍历的过程中,程序要做的工作始终分为两个部分:当前正在处理的树(子树)和保存在栈中待处理的部分
(注:当栈中元素位于栈顶即将出栈时,意味着其左子树已访问完,出栈后应该立即访问其根结点,再进入其右子树的访问),只有这两部分的工作均完成后,程序
方能结束。根据以上分析,得到二叉树中序遍历的非递归算法,在算法实现时,用了链式存储结构。追问

我知道中序遍历步骤是先左再中后右,那在访问子树时,怎么个顺序?

温馨提示:答案为网友推荐,仅供参考
相似回答