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

题目

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


相似考题
更多“向一棵二叉排序树中插入一个元素时,若元素的值小于根结点的值,则接着向根结点的()插入,若元素的值大于根结点的值,则接着向根结点的()插入。”相关问题
  • 第1题:

    链表对于数据元素的插入和删除不需移动结点,只需改变相关结点的【 】域的值。


    正确答案:指针
    指针 解析:链表是—种非线性结构,对数据元素进行插入和删除操作时,只要修改指针域即可,不需要移动元素。

  • 第2题:

    如果二叉树中任何一个结点的值都大于它的左子树上所有结点的值而小于右子树上所有结点的值,要得到各结点值的递增序列,应按下列哪种次序排列结点?

    A.先根

    B.中根

    C.后根

    D.层次


    正确答案:B
    解析:中根序列的顺序从逻辑上来说总是“左-根-右”,在本题中,这样的遍历顺序正好构成一个递增序列。

  • 第3题:

    链表对于数据元素的插入和删除不需要移动结点,只需改变相关结点的【 】域的值。


    正确答案:指针
    指针 解析:链表是一种非线性结构,对数据元素进行插入和删除操作时,只要修改指针域即可,不需要移动元素。

  • 第4题:

    阅读以下说明和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

  • 第5题:

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


    正确答案:查找成功;左子树;右子树

  • 第6题:

    已知二叉排序树的左右子树均不为空,则()上所有结点的值均小于它的根结点的值()上所有结点的值均大于它的根结点的值。


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

  • 第7题:

    已知二叉排序树的左右子树均不为空,则()上所有结点的值均小于它的根结点值,()上所有结点的值均大于它的根结点的值。


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

  • 第8题:

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


    正确答案:增加1

  • 第9题:

    填空题
    已知二叉排序树的左右子树均不为空,则()上所有结点的值均小于它的根结点的值()上所有结点的值均大于它的根结点的值。

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

  • 第10题:

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

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

  • 第11题:

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

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

  • 第12题:

    填空题
    已知二叉排序树的左右子树均不为空,则()上所有结点的值均小于它的根结点值,()上所有结点的值均大于它的根结点的值。

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

  • 第13题:

    对于二叉查找树(Binary Search Tree),若其左子树非空,则左子树上所有结点的值均小于根结点的值;若其右子树非空,则右子树上所有结点的值均大于根结点的值。左、右子树本身就是两棵二叉查找树。因此,对任意一棵二叉查找树进行(61)遍历可以得到一个结点元素的递增序列。在具有n个结点的二叉查找树上进行查找运算,最坏情况下的算法复杂度为(62)。

    A.先序

    B.中序

    C.后序

    D.层序


    正确答案:B

  • 第14题:

    阅读以下说明和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所示。图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; else p=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; /*二叉查找树为空树时新结点作为树根插入*/ else if(kword<father->key) (6) ; /*作为左孩子结点插入*/ else (7) ; /*作右孩子结点插入*/ return 1; }/*InsertBST*/


    正确答案:father=(void*)0 
    keyword!=p->key
    p
    sizeof(BSTNode)
    *rootptr
    father->left=p
    father->right=p 

  • 第15题:

    一棵二叉树满足下列条件:对任一结点,若存在左、右子树,则其值都小于它的左子树上所有结点的值,而大于右子树上所有结点的值。现采用【 】遍历方式就可以得到这棵二叉树所有结点的递增序列。

    A.先根

    B.中根

    C.后根

    D.层次


    正确答案:B

  • 第16题:

    由元素序列(27,16,75,38,51)构造平衡二叉树,则首次出现的最小不平衡子树的根(即离插入结点最近且平衡因子的绝对值为2的结点)为()。

    A.27
    B.38
    C.51
    D.75


    答案:D
    解析:

  • 第17题:

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


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

  • 第18题:

    “一棵二叉树若它的根结点的值大于左子树所有结点的值,小于右子树所有结点的值,则该树一定是二叉排序树”。该说法是否正确,若认为正确,则回答正确,若认为不正确则说明理由?


    正确答案:不正确,二叉排序树要求其子树也是二叉排序树。

  • 第19题:

    在一个小根堆中,堆顶结点的值是所有结点中的(),在一个大根堆中,堆顶结点的值是所有结点中的()。


    正确答案:最小值;最大值

  • 第20题:

    判断题
    当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。(  )
    A

    B


    正确答案:
    解析:

  • 第21题:

    填空题
    在一个小根堆中,堆顶结点的值是所有结点中的(),在一个大根堆中,堆顶结点的值是所有结点中的()。

    正确答案: 最小值,最大值
    解析: 暂无解析

  • 第22题:

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

    正确答案: 增加1
    解析: 暂无解析

  • 第23题:

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

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