【问题标题】:Deletion from B tree rule从 B 树规则中删除
【发布时间】:2013-12-17 06:58:58
【问题描述】:

嗯,我正在为考试而学习,我对以下内容有点困惑。 下图是一个 t=3 的 B 树,因此每个节点最多可以有 2t-1 个键和至少 t-1 个键。 我被要求删除 key=3。 我不明白为什么在这种情况下我需要将根与它的儿子一起加入。我知道删除算法是防御性的,因为它从根开始并检查每个节点,因此它不需要再次访问任何祖先。 但是,如果我不加入根和它的儿子,哪条规则会被打破?

原始 B 树

删除键 3 后

至于我,我会删除键 3,仅此而已。

【问题讨论】:

    标签: data-structures binary-tree branching-and-merging b-tree


    【解决方案1】:

    它不会违反任何规则,算法只是在查找给定键的同时执行每个可能的节点合并。这对于确保删除后不需要向上遍历树是必要的。 此外,树的高度降低了,这将加快以后的查找速度。

    所以这种行为是一种算法决策,可以有效地实现 B 树。

    【讨论】:

    • 谢谢,我完全理解了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-04
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    相关资源
    最近更新 更多