我明天正在检查我的考试,并且被困在一个问题上。我必须绘制一个有效的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
很抱歉,如果这很难理解。也许我复制了错误的答案,但任何人都可以确认这是否正确答案?如果是这样,这个答案是如何达成的?
答案 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中,但对你来说可能没什么用。