【问题标题】:What will this B-tree look like?这个 B 树会是什么样子?
【发布时间】:2011-02-04 14:26:03
【问题描述】:

B-tree 是 4 阶的,这意味着一个节点可以保存 4 个指针和 3 个键。

插入以下内容:A G I Y

由于它们不能全部放在一个节点中,我知道该节点会分裂。所以我知道插入这些东西后会有一个带有 2 个子节点的根节点,但我不知道它们会是什么样子。

【问题讨论】:

    标签: b-tree


    【解决方案1】:
    A
    

    插入了一个

    AG
    

    G被插入

    AGI
    

    我被插入

      G
     / \
    A   I
    

    插入Y时节点已满,分成2个节点向上传递中间,G

      G
     / \
    A   IY
    

    Y 已插入

    【讨论】:

      【解决方案2】:

      这是操作的动画:

      http://ysangkok.github.io/js-clrs-btree/btree.html#{"actions":[["initTree",{"keys":[]},2],["insert","A"],["insert","G"],["insert","I"],["insert","Y"]]}

      “initTree”的第二个参数是顺序,但使用了另一个定义。此程序中的最大键数为 2*order-1。所以我将 order 设置为 2,它与您的示例相匹配。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-30
        相关资源
        最近更新 更多