我想知道为什么 B+ 树在随机搜索中比 B 树更低效(我在一本理论书中读到了这一点,但没有解释为什么)考虑到至少我知道这两种类型之间存在唯一的区别数据结构中,B+树在每个离开节点中都有一个指向下一个节点的指针我认为我遗漏了一些东西,有人可以解释一下这两种数据结构之间的另一个区别吗?
在B+树中,信息仅存储在叶节点中,叶节点可以按顺序链接,从而优化范围查询。 B+树中的内部节点包含用于导航的键,不像B树,其中节点可以另外保存信息。 B+ 树中随机搜索的这种区别方式可能包含遍历额外的推荐来获取叶节点,与 B 树相比,可能会带来轻微的低效率。然而,B+ 树由于其顺序叶节点访问而在范围查询中表现出色。
假设你有一个B树和一个B+树。 B 树中的内部节点也可能有学生姓名;这样可以更快地搜索树中较早发现的记录。这与 B+ 树不同,因为它的内部节点只有键,因此从叶节点移动到叶节点可能需要更多时间,因为它保留了学生详细信息,因此 B+ 树中的随机搜索过程将比 B 树中的随机搜索过程稍微长一些。