【发布时间】:2012-05-06 18:59:07
【问题描述】:
如何在O(n)中非递归地遍历线程二叉树而不使用堆栈(只允许为临时变量使用恒定的额外空间,所以我们可以'不要将访问标志添加到树中的每个节点)。我花了很长时间思考这个问题,但在我看来这并不可行除非我们要遍历具有树数据的内存位置。假设我们使用多个数组表示来实现指针,那么我们可以在 O(n) 中遍历树,有没有其他想法?
注意这不是作业,只是为了节省一些键盘敲击的能量来写关于作业的cmets!
【问题讨论】:
-
你看过Wikipedia吗?
-
@svick 算法的第二步是 Step-2:将左子节点放入已访问节点列表中,并将其设为当前节点。转到步骤 6。 我在问题中提到我需要使用 constant extra space
-
我的回答与您的问题相关吗?如果有,请将其标记为一个。如果不是,请说明原因,我会尽力完善它。
标签: data-structures binary-tree tree-traversal non-recursive