【发布时间】:2023-11-08 00:08:02
【问题描述】:
如果二叉搜索树中的节点有指向其父节点的指针,是否可以在不需要递归或其他数据结构的情况下进行中序遍历?
【问题讨论】:
-
这个问题不适合 Stack Overflow,所以让我在他们关闭它之前回答它。答案是:是的,有可能。
-
你能给我看看吗?
-
实际上是否有指向父节点的指针并不重要。这里应该有几个例子不是如何做到这一点的。
-
如果没有父指针,您可能必须构建一些额外的结构。如果你称它为堆栈或其他东西都没关系。使用父指针,您只需要根据您来自哪里的信息来决定下一步该做什么和去哪里。如果您来自父母,请向左走。如果您来自左孩子打印父母并向右走。如果您来自正确的孩子,请去找父母。如果 parent 为 null,我们就完成了。
-
感谢辩证法。我也是这么想的,但我正在努力建立一个有效的算法。如果您知道实现并且可以分享它,那就太好了。谢谢