Data structures B树插入

Data structures B树插入,data-structures,binary-tree,branching-and-merging,b-tree,Data Structures,Binary Tree,Branching And Merging,B Tree,嘿,我有一个关于我的家庭作业的问题,我能解决它,我只是想有人看看我做的是对还是错 A b-tree with minimum branching factor of t=3 [D][G][K][N][V] / / / | \ \ / / / | \ \ / / / | \ \ AC EF HI LM OP

嘿,我有一个关于我的家庭作业的问题,我能解决它,我只是想有人看看我做的是对还是错

A b-tree with minimum branching factor of t=3

               [D][G][K][N][V]
             /  /  /    |  \   \
            /  /  /     |   \   \
           /  /  /      |    \   \
          AC EF  HI    LM  OPRST  WX

Now when i insert J in above tree this is the output i am getting.... 
                     [K]
                   /      \
                  /        \
                 /          \     
               [D][G]    [N][V]
             /  /  /     /  \   \
            /  /  /     /    \   \
           /  /  /     /      \   \
          AC EF  HIJ  LM    OPRST  WX


After Inserting Q in above tree this is the Final tree i am getting.
                      [K]
                   /      \
                  /        \
                 /          \     
               [D][G]    [N][Q][V]
             /  /  /     /  / \  \
            /  /  /     /  /   \  \
           /  /  /     /  /     \  \
          AC EF  HIJ  LM  OP   RST  WX

  Is this the Final Tree Correct?

如果分支因子是3,这不意味着非根节点中的最小键数吗?初始树如何正确

初始状态为:

└── E, I, N, S
    ├── A, C, D
    ├── F, G, H
    ├── K, L, M
    ├── O, P, R
    └── T, V, W, X

不,最后的B树不正确。中间的一个是。最后一个应该是这样的

                  [K]
               /      \
              /        \
             /          \     
           [D][G]    [N][R][V]
         /  /  /     /  / \  \
        /  /  /     /  /   \  \
       /  /  /     /  /     \  \
      AC EF  HIJ  LM  OPQ   ST  WX
你错过了一些非常重要的事情。在B-树中,插入仅在叶节点中完成,并且途中的每个完整节点都被分割。您将
Q
插入到最后一个树的级别2节点中


编辑:我想你对插入算法感到困惑。插入仅在叶节点中发生。在从根到叶的向下路径中,如果遇到任何完整节点,将首先拆分该节点。如果叶节点已满,将首先拆分它,然后插入键。在您的情况下,叶节点
OPRST
在遇到时将被拆分,因为它有5个节点且已满。因此,
R
将向上移动,并将创建一个包含键
ST
的新叶节点。较旧的叶节点现在只有
OP
键<然后将code>Q与
R
进行比较,搜索向左移动到
OP
节点,最后插入
Q

我认为他的意思是B树的最小度为3。那么,,非叶节点中的最小节点数为2。b树的最小度也被称为分支因子,其中非叶节点可以有最小2个节点。但当我们将一个节点添加到一个已经满的树中时,它会分裂一半,因此当我插入一个节点Q时,它会变成OPQRST,所以6/2将是3,第三个节点是Q…因为b树按顺序对节点进行排序顺序也正确吗?我错了吗?:SYes,因为您将永远无法在具有
OPRST
的叶节点中插入Q。记住,B-树的最小度是3。因此,任何节点可以拥有的最大密钥数为
(2*3-1)=5
。节点
OPRST
已经有5个键,因此已满。如果不先拆分,就无法插入
Q
。ohhkk谢谢我得到了它,因为我无法从6个节点中选择中间节点,这就是为什么我先拆分5个节点,而R就是那个节点…谢谢。。嗯,我在删除中又问了一个问题,如果可以的话,你也可以看一下吗?