在一棵m阶的B+树中,若在某结点中插入一个新关键码而引起该结点分裂,则此结点中原有的关键码个数为_______。 Consider a B+ tree with rank of m, if inserting a new key value into a node cause this node to split, then this node originally has ___ key values.A.m-1B.mC.m+1D.2*m

在一棵m阶的B+树中,若在某结点中插入一个新关键码而引起该结点分裂,则此结点中原有的关键码个数为_______。 Consider a B+ tree with rank of m, if inserting a new key value into a node cause this node to split, then this node originally has ___ key values.

A.m-1

B.m

C.m+1

D.2*m


参考答案和解析
m-1,?m/2? -1

相关考题:

下面关于B树运算的叙述中,正确的是A.若插入过程中根结点发生分裂,则B树的高度加1B.每当进行插入运算,就往B树的最下面一层增加一个新结点C.若要删除的关键码出现在根结点中,则不能真正删除,只能做标记D.删除可能引起B树结点个数减少,但不会造成B树高度减小

●试题三阅读下列函数说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。【说明】函数DelA_InsB(LinkedList La,LinkedList Lb,int key1,int key2,int len)的功能是:将线性表A中关键码为key1的结点开始的len个结点,按原顺序移至线性表B中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。线性表的存储结构为带头结点的单链表,La为表A的头指针,Lb为表B的头指针。单链表结点的类型定义为typedef struct node {int key;struct node *next;}*LinkedList;【函数】int DelA_InsB(LinkedList La,LinkdeList Lb,int key1,int key2,int len){LinkedList p,q,s,prep,pres;int k;if(!La->next||!Lb->next||len<=0)return-1;p=La->next;prep=La;while(p p- >key != key1){/*查找表A中键值为key1的结点*/prep=p;p=p->next;}if(!p)return -1;/*表A中不存在键值为key1的结点*/q=p;k=1;while(q (1) ){/*在表A中找出待删除的len个结点*/(2) ;k++;}if(!q)return -1;/*表A中不存在要被删除的len个结点*/s=Lb->next; (3) ;while(s s->key !=key2){/*查找表B中键值为key2的结点*/pres=s;s=s->next;}if(!s)return -1;/*表B中不存在键值为key2的结点*/(4) =q->next;/*将表A中的len个结点删除*/q->next= (5) ;pres->next=p;/*将len个结点移至表B*/return 0;}

(5)m 阶 B+树的根结点至多有 【5】 个子女。

m阶B+树的每个结点至多有________个子女。

以下程序中函数fun的功能是:构成一个如图所示的带头结点的单词链表,在结点的数据域中放入了具有两个字符的字符串。函数disp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数disp。[*]include<stdio.h>typedef struct node /*链表结点结构*/{char sub[3];struct node *next;}Node;Node fun(char s) /*建立链表*/{ … }void disp(Node *h){ Node *

当向一棵m阶的B—树做插入操作时,若一个结点中的关键字个数等于______,则必须分裂为2个结点。A.mB.m-1C.m+lD.[m/2]

当向一棵m阶的B-树做插入操作时,若一个结点中的关键字个数等于______,则必须分裂为2个结点。A.mB.m-1C.m+1D.m/2

若在9阶B-树中插入关键字引起结点分裂,则该结点在插入前含有的关键字个数为(29)。A.4B.5C.8D.9

若在9阶B-树中插入关键字引起结点分裂,则该结点在插入前含有的关键字个数为( )A.4B.5C.8D.9

阅读以下说明,Java代码将应填入(n)处的字句写在对应栏内。【说明】链表和栈对象的共同特征是:在数据上执行的操作与在每个对象中实体存储的基本类型无关。例如,一个栈存储实体后,只要保证最后存储的项最先用,最先存储的项最后用,则栈的操作可以从链表的操作中派生得到。程序6-1实现了链表的操作,程序6-2实现了栈操作。import java.io.*;class Node //定义结点{ private String m_content;private Node m_next;Node(String str){ m_content=str;m_next=null; }Node(String str,Node next){ m_content=str;m_next=next; }String getData() //获取结点数据域{ return m_content;}void setNext(Node next] //设置下一个结点值{ m_next=next; }Node getNext() //返回下一个结点{ return m_next; )}【程序6-1】class List{ Node Head;List(){ Head=null; }void insert(String str) //将数据str的结点插入在整个链表前面{ if(Head==null)Head=new Node(str);else(1)}void append(String str) //将数据str的结点插入在整个链表尾部{ Node tempnode=Head;it(tempnode==null)Heed=new Node(str);else{ white(tempnode.getNext()!=null)(2)(3) }}String get() //移出链表第一个结点,并返回该结点的数据域{ Srting temp=new String();if(Head==null){ System.out.println("Errow! from empty list!")System.exit(0); }else{ temp=Head.getData();(4) }return temp;}}【程序6-2】class Stack extends List{ void push(String str) //进栈{ (5) }String pop() //出栈{ return get();}}

下面关于B树运算的叙述中,正确的是A.若插入过程甲根结点发生分裂,则B树的高度加1B.每当进行插入运算,就往B树的最下面一层增加一个新结点C.若要删除的关键码出现在根结点中,则不能真正删除,只能做标记D.删除可能引起B树结点个数减少,但不会造成B树高度减小

试题三(共15分)阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。【说明】函数Insert _key (*root,key)的功能是将键值key插入到*root指向根结点的二叉查找树中(二叉查找树为空时*root为空指针)。若给定的二叉查找树中已经包含键值为key的结点,则不进行插入操作并返回0;否则申请新结点、存入key的值并将新结点加入树中,返回l。提示:二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树:●若它的左子树非空,则其左子树上所有结点的键值均小于根结点的键值;●若它的右子树非空,则其右子树上所有结点的键值均大于根结点的键值;●左、右子树本身就是二叉查找树。设二叉查找树采用二叉链表存储结构,链表结点类型定义如下:typedef struct BiTnode{int key _value; /*结点的键值,为非负整数*/struct BiTnode *left,*right; /*结点的左、右子树指针*/}BiTnode, *BSTree;【C函数】int Insert _key( BSTree *root,int key){BiTnode *father= NULL,*p=*root, *s;while( (1)&&key!=p-key_value){/*查找键值为key的结点*/father=p;if(key p-key_value)p= (2) ; /*进入左子树*/else p= (3) ; /木进入右子树*/}if (p) return 0; /*二叉查找树中已存在键值为key的结点,无需再插入*/s= (BiTnode *)malloc( (4) );/*根据结点类型生成新结点*/if (!s) return -1;s-key_value= key; s-left= NULL; s-right= NULL;if( !father)(5) ; /*新结点作为二叉查找树的根结点*/else /*新结点插入二叉查找树的适当位置*/if( key father-key_value)father-left = s;elsefather-right = s;retum 1:}

在一裸m阶的B+树中,每个非叶结点的儿子数S应满足()。

设链表中的结点是NODE类型的结构体变量,且有NODE*p;为了申请一个新结点,并由p指向该结点,可用以下语句()。Ap=(NODE*)malloc(sizeof(p));Bp=(*NODE)malloc(sizeof(NODE));Cp=(NODE)malloc(sizeof(p));Dp=(NODE*)malloc(sizeof(NODE));

决策树中不包含一下哪种结点()A、根结点(root node)B、内部结点(internal node)C、外部结点(external node)D、叶结点(leaf node)

当向一棵m阶的B—树做插入操作时,若一个结点中的关键字个数等于(),则必须分裂为两个结点。A、mB、m-1C、m+1D、m/2

在10阶B—树中根结点所包含的关键码个数最多为(),最少为()。

在一棵m阶的B—树中,当将一个关键码插入某结点而引起该结点分裂时,此结点原有()个关键码;若删去某结点中的一个关键码,而导致结点合并时,该结点原有()个关键码。

在一棵高度为h的B—树中,叶子结点处于第()层,当向该B—树中插入一个新关键码时,为查找插入位置需读取()个结点。

在一棵B—树中删除关键码,若最终引起树根结点的合并,则新树比原树的高度()。

在9阶B—树中,除根结点以外其他非叶子结点中的关键码个数不少于()。

填空题在一棵m阶的B—树中,当将一个关键码插入某结点而引起该结点分裂时,此结点原有()个关键码;若删去某结点中的一个关键码,而导致结点合并时,该结点原有()个关键码。

填空题在9阶B—树中,除根结点以外其他非叶子结点中的关键码个数不少于()。

判断题向一棵B树插入关键码的过程中,若最终引起树根结点的分裂,则新树比原树的高度减少1。()A对B错

单选题设链表中的结点是NODE类型的结构体变量,且有NODE*p;为了申请一个新结点,并由p指向该结点,可用以下语句()。Ap=(NODE*)malloc(sizeof(p));Bp=(*NODE)malloc(sizeof(NODE));Cp=(NODE)malloc(sizeof(p));Dp=(NODE*)malloc(sizeof(NODE));

填空题在一棵高度为h的B—树中,叶子结点处于第()层,当向该B—树中插入一个新关键码时,为查找插入位置需读取()个结点。

单选题当向一棵m阶的B—树做插入操作时,若一个结点中的关键字个数等于(),则必须分裂为两个结点。AmBm-1Cm+1Dm/2

填空题m阶B+树的根结点至多有()个子女。