niusouti.com
参考答案和解析
正确答案:A

(13)【答案】A)
【解析】当从B树中删除一个关键字Ki时,一段有以下两种情况。
1) 如果该关键字所在的结点不是最下层的非叶子结点,则先需要把此关键字与它在B树中的后继对换位置,即以指针Pi所指子树中的最小关键字Y代替Ki,然后在相应的结点中删除Y。
2) 如果该关键字所在的结点正好是最下层的非叶子结点,在这种情况下赊有以下两种可能:
①,若该关键字Ki所在结点中的关键字个数不小于[m/2],则直接从该结点中删除该关键字和相应指针即可。
②若该关键字Ki所在结点中的关键字个数小于[m/2],则直接从该结点中删除该关键字会导致结点中所含关键字个数小于[m/2]-1。在这种情况下,需考察该结点在B树中的左或右兄弟结点,从兄弟结点中移若干个关键字到该结点中来(这也涉及它们的双亲结点中的一个关键字要作相应的变化),使两个结点中所含关键字个数基本相同,但如果其兄弟结点的关键字个数也很少,刚好等于[m/2]-1,这种移动则不能进行,这种情形下,需要把删除了关键字Ki的结点、它的兄弟结点及它们本题情况属于②,所以选择A)
更多“(13)从该 B 树中删除关键码 15 后,该B 树的叶结点数为( )。 A)5 B)6 C)7 D)8 ”相关问题
  • 第1题:

    从该B树中删除关键码15后,该B树的叶结点数为

    A.5

    B.6

    C.7

    D.8


    正确答案:A
    解析:当从B树中删除一个关键字Ki时,总的分为以下两种情况:如果该关键字所在的结点不是最下层的非叶子结点,则先需要把此关键字与它在B树中后继对换位置,即以指针Pi所指子树中的最小关键字Y代替Ki,然后在相应的结点中删除Y。如果该关键字所在的结点正好是最下层的非叶子结点,这种情况下,会有以下两种可能:①若该关键字Ki所在结点中的关键字个数不小于[m/2]则直接从该结点中删除该关键字和相应指针即可。②若该关键字Ki所在结点中的关键字个数小于[m/2],则直接从结点中删除关键字会导致此结点中所含关键字个数小于[m/2]-1。这种情况下,需考察该结点在B树中的左或右兄弟结点,从兄弟结点中移若干个关键字到该结点中来 (这也涉及它们的双亲结点中的一个关键字要作相应变化),使两个结点中所含关键字个数基本相同;但如果其兄弟结点的关键字个数也很少,刚好等于[m/2] -1,这种移动则不能进行,这种情形下,需要把删除了关键字Ki的结点、它的兄弟结点及它们双亲结点中的一个关键字合并为一个结点。题中属于②,所以选择A)。

  • 第2题:

    在此基础上,从该B树中删除关键码15后,该B树的第2层的结点数为( )。A.6 B.7C.8 D.9


    正确答案:C
    当在叶子结点处于第L+1层的B树中插入关键字时,被插入的关键字总是进入第L层的结点。   若在一个包含j

  • 第3题:

    试题基于以下的5阶B树结构,该B树现在的层数为2。

    从该B树中删除关键码15后,该B树的第2层的结点数为

    A.6

    B.7

    C.8

    D.9


    正确答案:B
    解析:如果删除关键码15,则原来的结点只剩下一个关键码,刚好等于[5/2]-1=1,所以可以删除,不用进行移动其他关键码。所以结点数仍为7。

  • 第4题:

    如下所示是一棵5阶B树,从该B树中删除关键码41后,该B树的叶结点数为

    A.6

    B.7

    C.8

    D.9


    正确答案:B

  • 第5题:

    从该B树中删除关键码15后,该B树的第2层的结点数为

    A.6

    B.7

    C.8

    D.9


    正确答案:B
    解析:如果删除关键码15,则原来的结点只剩下一个关键码,刚好等于 [5/2]-1=1,所以可以删除,不用进行移动其他关键码。所以结点数仍为7。