数据结构

二叉排序树插入操作中,新插入的结点总是以树的()结点被插入的。

题目

二叉排序树插入操作中,新插入的结点总是以树的()结点被插入的。

参考答案和解析
正确答案:
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

由关键字序列(12,7,36,25,18,2)构造一棵二叉排序树(初始为空,第一个关键字作为根结点插入,此后对于任意关键字,若小于根结点的关键字,则插入左子树中,若大于根结点的关键字,则插入右子树中,且左、右子树均为二叉排序树) ,该二叉排序树的高度(层数)为 ( ) 。

A. 6

B. 5

C. 4

D. 3

请帮忙给出正确答案和分析,谢谢!


正确答案:C

第2题:

已知二叉树T的结点形式为(lling,data,count,rlink),在树中查找值为X的结点,若找到,则记数(count)加1,否则,作为一个新结点插入树中,插入后仍为二叉排序树,写出其非递归算法。


参考答案:
  [算法描述]
  void SearchBST(BiTree &T,int target){
  BiTree s,q,f; //以数据值target,新建结点s
  s=new BiTNode;
  s->data.x=target;
  s->data.count=0;
  s->lchild=s->rchild=NULL;
  if(!T){
  T=s;
  return ;
  } //如果该树为空则跳出该函数
  f=NULL;
  q=T;
  while (q){
  if (q->data.x==target){
  q->data.count++;
  return ;
  } //如果找到该值则计数加一
  f=q;
  if (q->data.x>target) //如果查找值比目标值大,则为该树左孩子
  q=q->lchild;
  else //否则为右孩子
  q=q->rchild;
  } //将新结点插入树中
  if(f->data.x>target)
  f->lchild=s;
  else
  f->rchild=s;
  }

第3题:

在查找树中插入一个新结点,总是插入到叶结点下面。

A.错误

B.正确


参考答案:A

第4题:

当在二叉排序树中插入一个新结点时,若树中不存在与待插入结点的关键字相同的结点,且新结点的关键字小于根结点的关键字,则新结点将成为()

A.左子树的叶子结点

B.左子树的分支结点

C.右子树的叶子结点

D.右子树的分支结点


参考答案:A

第5题:

在二叉查找树中,新结点总是作为叶结点插入。()

此题为判断题(对,错)。


答案:正确

第6题:

若二叉排序树非空,则新结点的值和根结点比较,若小于根结点,则插入到右子树;否则插入到左子树。()

此题为判断题(对,错)。


参考答案:错误

第7题:

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


参考答案:错误

第8题:

在二叉排序树中,即使删除一个结点后马上再插入该结点,该二叉排序树的形态也可能不同。()

此题为判断题(对,错)。


参考答案:正确

第9题:

对于同一组结点,由于建立二叉排序树时插入结点的先后次序不同,所构成的二叉排序树的形态及深度也不同,所以含有n个结点的二叉排序树不唯一。 ()

此题为判断题(对,错)。


正确答案:正确

第10题:

双链表的插入操作(插入新结点q)


正确答案:

 

p:=loc(L,I);
new(q);
q^.data:=x;
q^.pre:=p;
q^.next:=p^.next;
p^.next:=q;
q^.next^.pre:=q;

更多相关问题