创建B树

时间:2013-04-23 03:35:27

标签: algorithm tree b-tree

我明天正在检查我的考试,并且被困在一个问题上。我必须绘制一个有效的B树,其中M = 4,L = 3,包含值1-25。问题是我不能让我的树看起来像答案。答案树如下所示:

             9            14             22
            /       |             |        \
         4 7       12           17 20        24
        / | \     /  \         /  |  \      /  \
       1  4  7   9   12      14  17  20   22   24
       2  5  8   10  13      15  18  21   23   25
       3  6      11          16  19  21  

很抱歉,如果这很难理解。也许我复制了错误的答案,但任何人都可以确认这是否正确答案?如果是这样,这个答案是如何达成的?

1 个答案:

答案 0 :(得分:0)

看起来你在谈论B +树而不是BTree,并且有一个小错字:你在叶子中复制了21个密钥[20,21,21]。如你所说,订单是4。

答案是一个有效的B +树,但不是你通过顺序添加1-25得到的那个。问题是否给出了要添加密钥的特定顺序,或者是为自己尝试确定的问题?除了冗长的试错过程之外,我不确定您如何确定序列,但您可以在此处使用演示页进行试用:

http://goneill.co.nz/btree-demo.php

如果您想尝试各种插入序列,最好下载离线版本并编辑Hardcoded()函数:

http://goneill.co.nz/btree.php

所有这些都在JavaScript中,但对你来说可能没什么用。