2013-04-23 108 views
0

我正在審查我的考試明天,並卡住了一個問題。我必須繪製一個有效的B樹,其中M = 4且L = 3包含值1-25。問題是我無法讓我的樹看起來像答案。答案樹如下所示:創建一棵B型樹

   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

看起來你是在談論一個B +樹而不是一個BTree,並且存在一個小的錯字:你在葉中有21個重複的鍵[20,21,21]。正如你所說,訂單是4.

答案是一個有效的B +樹,但不是通過順序添加值1-25得到的答案。問題是否給出了添加密鑰的特定順序,還是試圖自行確定的問題?除了冗長的試錯過程我不知道你是如何確定的序列,但你可以通過在這裏使用的演示頁嘗試一下:

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

如果你想嘗試不同的序列的插入你會做的更好,下載離線版本和編輯硬編碼的()函數:

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

這一切都在JavaScript可能不會對你有用,但。