更多“向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度()。”相关问题
  • 第1题:

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

    A.m

    B.m-1

    C.m+1

    D.m/2


    正确答案:A

  • 第2题:

    阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树。(1)若它的左子树非空,则左子树上所有结点的值均小于根结点的值。(2)若它的右子树非空,则右子树上所有结点的值均大于根结点的值。(3)左、右子树本身就是两棵二叉查找树。二叉查找树是通过依次输入数据元素并把它们插入到二叉树的适当位置上构造起来的,具体的过程是:每读入一个元素,建立一个新结点,若二叉查找树非空,则将新结点的值与根结点的值相比较,如果小于根结点的值,则插入到左子树中,否则插入到右子树中;若二叉查找树为空,则新结点作为二叉查找树的根结点。根据关键码序列{46,25,54,13,29,91}构造一个二叉查找树的过程如图4-1所示。

    设二叉查找树采用二叉链表存储,结点类型定义如下:

    typedef int KeyType;typedef struct BSTNode{KeyType key;struct BSTNode *left,*right;}BSTNode,*BSTree;

    图4-1(g)所示二叉查找树的二叉链表表示如图4-2所示。

    函数int InsertBST(BSTree *rootptr,KeyType kword)功能是将关键码kword插入到由rootptr指示出根结点的二叉查找树中,若插入成功,函数返回1,否则返回0。【C代码】

    int lnsertBST(BSTree*rootptr,KeyType kword)/*在二叉查找树中插入一个键值为kword的结点,若插入成功返回1,否则返回0;*rootptr为二叉查找树根结点的指针*/{BSTree p,father;(1) /*将father初始化为空指针*/p=*rootptr; /*p指示二叉查找树的根节点*/while(p&&(2)){ /*在二叉查找树中查找键值kword的结点*/father=p;if(kword<p->key)p=p->left;elsep=p->right;}if((3))return 0; /*二叉查找树中已包含键值kword,插入失败*/ p=(BSTree)malloc((4)); /*创建新结点用来保存键值kword*/If(!p)return 0; /*创建新结点失败*/p->key=kword;p->left=NULL;p->right=NULL; If(!father)(5) =p; /*二叉查找树为空树时新结点作为树根插入*/elseif(kword<father->key)(6);/*作为左孩子结点插入*/else(7);/*作右孩子结点插入*/return 1;}/*InsertBST*/


    答案:
    解析:
    father=(void*)0keyword!=p-keypsizeof(BSTNode)*rootptrfather-left=pfather-right=p

  • 第3题:

    在任意一棵非空二叉树中,删除某结点后又将其插入,则所得二叉排序树与删除前原二叉树排序树相同。


    正确答案:错误

  • 第4题:

    一棵深度为h的B-树,任一个叶子结点所处的层数为(),当向B-树中插入一个新关键字时,为检索插入位置需读取()个结点。


    正确答案:h;h

  • 第5题:

    向一棵二叉排序树中插入一个元素时,若元素的值小于根结点的值,则接着向根结点的()插入,若元素的值大于根结点的值,则接着向根结点的()插入。


    正确答案:左子树;右子树

  • 第6题:

    在任意一棵非空二叉排序树,删除某结点后又将其插入,则所得二叉排序树与删除前原二叉排序树相同。


    正确答案:错误

  • 第7题:

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


    正确答案:减少1层

  • 第8题:

    向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度()。


    正确答案:增加1

  • 第9题:

    填空题
    从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明(),若元素的值小于根结点的值,则继续向()查找,若元素的大于根结点的值,则继续向()查找。

    正确答案: 找到,左子树,右子树
    解析: 暂无解析

  • 第10题:

    填空题
    当向B—树中插入关键码时,可能引起结点的(),最终可能导致整个B-树的高度(),当从B—树中删除关键码时,可能引起结点(),最终可能导致整个B—树的高度()。

    正确答案: 分裂,增加1,合并,减少1
    解析: 暂无解析

  • 第11题:

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

    正确答案: h+1,h
    解析: B-树的叶子结点可以看作是外部结点(即查找失败)的结点,通常称为外结点。实际上这些结点不存在,指向这些结点的指针为空,B-树将记录插入在终端结点中。

  • 第12题:

    填空题
    从一棵二叉排序树中查找一个元素时,若元素的值等于根结点的值,则表明(),若元素的值小于根结点的值,则继续向()查找,若元素的值大于根结点的值,则继续向()查找。

    正确答案: 查找成功,左子树,右子树
    解析: 暂无解析

  • 第13题:

    下面关于B树运算的叙述中,正确的是

    A.若插入过程甲根结点发生分裂,则B树的高度加1

    B.每当进行插入运算,就往B树的最下面一层增加一个新结点

    C.若要删除的关键码出现在根结点中,则不能真正删除,只能做标记

    D.删除可能引起B树结点个数减少,但不会造成B树高度减小


    正确答案:A
    解析:在B树里插入一个关键码的方法是:对于叶结点处于第i层的B树,插入的关键码总是在第i-1层。若i-1已满,则须把结点分裂为两个,并把中间的一个关键码插到结点的双亲结点上,若双亲结点也是满的,就需要再分裂再向上插。删除过程也类似。每当进行插入运算,就往B数的i-1增加一个新结点;若要删除的关键码出现在根结点中时,将把根结点与它的子女合并,形成新的结点;删除不但可能引起B树结点个数减少,而且会造成B树高度减小。

  • 第14题:

    在平衡二叉树中,向某个平衡因子不为零的结点的树中插入一新结点,必引起平衡旋转。


    正确答案:错误

  • 第15题:

    若一棵满二叉树含有121个结点,则该树的深度为()。


    正确答案:7

  • 第16题:

    从一棵二叉搜索树中查找一个元素时,若元素的值等于根结点的值,则表明(),若元素的值小于根结点的值,则继续向()查找,若元素的大于根结点的值,则继续向()查找。


    正确答案:找到;左子树;右子树

  • 第17题:

    当向B—树中插入关键码时,可能引起结点的(),最终可能导致整个B-树的高度(),当从B—树中删除关键码时,可能引起结点(),最终可能导致整个B—树的高度()。


    正确答案:分裂;增加1;合并;减少1

  • 第18题:

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


    正确答案:h+1;h

  • 第19题:

    从一棵B树删除关键码的过程中,若最终引起树根结点的合并,则新树比原树的高度增加1。


    正确答案:错误

  • 第20题:

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

    正确答案: 减少1层
    解析: 暂无解析

  • 第21题:

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

    B


    正确答案:
    解析:

  • 第22题:

    填空题
    向一棵二叉排序树中插入一个元素时,若元素的值小于根结点的值,则接着向根结点的()插入,若元素的值大于根结点的值,则接着向根结点的()插入。

    正确答案: 左子树,右子树
    解析: 暂无解析

  • 第23题:

    判断题
    从一棵B树删除关键码的过程中,若最终引起树根结点的合并,则新树比原树的高度增加1。()
    A

    B


    正确答案:
    解析: