标签: algorithm binary-search-tree
在BST中,如果每个节点都没有指向其父节点的指针,则指向其后继节点(也有左右子节点指针)。我们如何设计一个基于后继指针获取其父级的算法?
答案 0 :(得分:1)
对于节点n,我们可以重复获取后继s,直到我们得到s.left == n。然后s是父母。如果没有找到这样的节点,n是一个正确的孩子,我们反复获得后继s,从第一个元素开始(通过重复调用e = e.left很容易获得)直到我们得到{ {1}},然后s.right == n是父级。
n
s
s.left == n
e = e.left
s.right == n