已知10个数据元素(50,30,15,35,70,65,95,60,25,40),按照依次插入结点的方法生成一棵二叉排序

题目
单选题
已知10个数据元素(50,30,15,35,70,65,95,60,25,40),按照依次插入结点的方法生成一棵二叉排序树后,在查找成功的情况下,查找每个元素的平均比较次数(又称平均查找长度)为()。
A

2.5

B

3.2

C

2.9

D

2.7

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

已知二叉排序树采用二叉链表存储结构,根结点的指针为T,链结点的结构为(lchild,data,rchild),其中lchild,rchild分别指向该结点左、右孩子的指针,data域存放结点的数据信息。请写出递归算法,从小到大输出二叉排序树中所有数据值>=x的结点的数据。要求先找到第一个满足条件的结点后,再依次输出其他满足条件的结点。


参考答案:本题算法之一是如上题一样,中序遍历二叉树,在“访问根结点”处判断结点值是否x,如是则输出,并记住第一个x值结点的指针。这里给出另一个算法,利用二叉排序树的性质,如果根结点的值>=x,则除左分枝中可能有  void Print(BSTree t)
  // 中序输出以t为根的二叉排序树的结点
  {if(t){Print(t->lchild);
  Cout<  Print(t->rchild);
  }
  }
  void PrintAllx(BSTree bst,datatype x)
  //在二叉排序树bst中,查找值x的结点并输出
  {p=bst;
  if(p)
  {while(p && p->datarchild;//沿右分枝找第一个值x的结点
  bst=p; //bst所指结点是值x的结点的树的根
  if(p)
  {f=p; p=p->lchild ;//找第一个值  while(p && p->datax)//沿左分枝向下,找第一个值  {f=p;p=p->lchild ;} //f是p的双亲结点的指针,指向第一个值x的结点
  if(p) f->lchild=null; //双亲与找到的第一个值  Print(bst);//输出以bst为根的子树
  }//while
  }//内层if(p)
  }//第一层if(p)
  }//PrintAllx

第2题:

在具有n个结点的二叉排序树上插入一个新结点时,根据n个数据元素生成一棵二叉排序树时,其时间复杂性大致为______。

A.O(n)

B.O(n2)

C.O(log2n)

D.O(nlog2n)


正确答案:D

第3题:

(1)“一棵二叉树若它的根结点的值大于左子树所有结点的值,小于右子树所有结点的值,则该树一定是二叉排序树”。该说法是否正确,若认为正确,则回答正确,若认为不正确则说明理由?(2)设有查找表{7,16,4,8,20,9,6,18,5},依次取表中数据构造一棵二叉排序树. 对上述二叉树给出后序遍历的结果.


参考答案:

第4题:

已知10个数据元素为(54,28,16,34,73,62,95,60,23,43),按照依次插入结点的方法生成一棵二叉排序树后,查找值为62的结点所需比较的次数为()。

A.2
B.3
C.4
D.5

答案:B
解析:
将这10个元素按照依次插入结点的方法生成一棵二叉排序树后,62位于这棵二叉排序树的第三层,查找值为62的结点所需要的次数恰好是从二叉排序树的根到被查结点的树的深度。

第5题:

已知8个数据元素为(34,76,45,18,26,54,92,65),按照依次插入结点的方法生成一棵二叉排序树后,最后2层上的结点总数为______。

A.1

B.2

C.3

D.4


正确答案:B

第6题:

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

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


参考答案:错误

第7题:

将一个无序序列中的元素依次插入到一棵(60),并进行中序遍历,可得到一个有序序列。

A.完全二叉树

B.最小生成树

C.二叉排序树

D.最优二叉树


正确答案:C
解析:本题考查数据结构基础知识。
  一个连通图的生成树是一个极小连通子图,它包含图中的全部顶点,但只有构成一棵树的n-1条边。把生成树各边的权值总和称为生成树的权,把权值最小的生成树称为最小生成树。
  哈夫曼树又称最优二叉树,是一类带权路径长度最短的树。若深度为k的二叉树有 2k-1个结点,则称其为满二叉树。可以对满二叉树中的结点进行连续编号:约定编号从根结点起,自上而下、自左至右依次进行。深度为k、有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。
  二叉排序树又称二叉查找树,它或者是一棵空树,或者是具有如下性质的二叉树。
  .若它的左子树非空,则左子树上所有结点的值均小于根结点的值。
  .若它的右子树非空,则右子树上所有结点的值均大于根结点的值。
  .左、右子树本身就是两棵二叉排序树。
  显然,将一个无序序列中的元素依次插入到一棵二叉排序树中并进行中序遍历,可得到一个有序序列。

第8题:

已知10个元素(54,28,16,34,,73,62,95,60,26,43),按照依次插入的方法生成一棵二叉排序树,查找值为62的结点所需比较次数为()

A.4

B.3

C.2

D.5


正确答案:B

第9题:

● 将一个无序序列中的元素依次插入到一棵 (60) ,并进行中序遍历,可得到一个有序序列。

(60)

A. 完全二叉树

B. 最小生成树

C. 二叉排序树

D. 最优二叉树


正确答案:C

第10题:

已知10个元素(54,28,16,34,73,62,95,60,26,43),按照依次插入的方法生成一棵二叉排序树,查找值为62的节点所需比较次数为()。

A.2
B.3
C.4
D.5

答案:B
解析:
查找值为62的节点所需比较次数为3。

更多相关问题