【问题标题】:How to get the node's parent based on the successor in BST?如何根据 BST 中的后继节点获取节点的父节点?
【发布时间】:2013-01-16 02:39:13
【问题描述】:

在 BST 中,如果每个节点都没有指向其父节点的指针,则相反,有一个指向其后继节点的指针(也有左右子指针)。我们如何设计一种算法来根据后继指针获取其父代?

【问题讨论】:

  • 你能提供一个简单的图表吗?我不明白继承人和父母之间的区别。
  • @Randall Cook 节点x的后继是大于x.key的最小key

标签: algorithm binary-search-tree


【解决方案1】:

对于一个节点n,我们可以反复得到s的后继节点,直到我们得到一个s.left == n。 s 然后是父母。如果没有找到这样的节点,n是一个右孩子,我们重复得到后继s,从第一个元素开始(通过重复调用e = e.left很容易得到)直到我们得到s.right == n,然后是@987654329 @ 是父级。

【讨论】:

  • 感谢@Dukeling 的帮助
猜你喜欢
  • 1970-01-01
  • 2012-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-01
相关资源
最近更新 更多