我对 B+ 树中的删除有点困惑。我在谷歌中搜索了很多,发现当要删除的键出现在索引中时,有两种实现:
- 删除索引中的键
- 将键保留在索引中
https://www.javatpoint.com/b-plus-tree-deletion的算法使用第一种方式。
https://www.cs.princeton.edu/courses/archive/fall08/cos597A/Notes/BplusInsertDelete.pdf的算法使用第二种方式。
所以我真的很想知道哪个是对的。
但我更倾向于将其视为未定义的行为。在这一点上,有人可以帮我弄清楚它们之间的优缺点吗?以及如何在它们之间进行选择?
提前致谢。