我之前发布了一个关于在平衡二叉搜索树中找到后继的问题。现在我正在阅读B-Trees(其中节点可以有超过2个孩子),它让我想知道如何在B树中找到密钥的后继者?它通常与常规BST相同吗?
提前致谢。
答案 0 :(得分:1)
逻辑类似,但需要稍加修改以处理可能有多个孩子的事实。
和以前一样,查找值。然后,如果块中有任何大于该值的值,请找到它们中最小的值。如果这些值之间的子树中有任何子项,则下降到该子树并在那里取最小值。否则,将后继值作为您在第一步中找到的值。
如果没有后继者,请在树中备份,直到有一个。然后,使用上面的过程来获得继任者。
希望这有帮助!