【发布时间】:2012-05-09 10:53:53
【问题描述】:
是否可以在不使用visited 标志或stack 的情况下对其节点具有父指针(根的父节点是null)的BST 执行迭代顺序遍历?
我用谷歌搜索并没有找到回复。关键是,我怎么知道 - 在某个节点 - 我刚刚到达它而不是我已经完成了它下面的所有内容?
【问题讨论】:
-
递归?虽然这是对堆栈的间接使用。
-
这听起来像是那些愚蠢的面试问题之一。递归很可能是预期的答案。
-
[@Shubham, @pablochan] 如果你再读一遍这个问题,你会发现iterative这个词写得很明确。
-
那么答案是否定的(除非您可以将访问过的节点保存在某处)
-
@pablochan,你确定吗?我认为您可以这样做,请参阅我的回答。
标签: algorithm binary-search-tree tree-traversal iteration inorder