在序列(2,5,8,11,15,16,22,24,27,35,50)中采用折半查找(二分查找)方法查找元素24,需要进行()次元素之间的比较。

题目

在序列(2,5,8,11,15,16,22,24,27,35,50)中采用折半查找(二分查找)方法查找元素24,需要进行()次元素之间的比较。

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

第1题:

设查找表为(50,60,75,85,96,98,105,110,120,130)

(1)说出进行折半查找成功查找到元素120需要进行多少次元素间的比较?

(2)为了折半查找元素95,经过多少次元素间的比较才能确定不能查到?

(3)画出对上述有序表进行折半查找所对应的判定树(要求以数据元素作为树结点)。


参考答案(1)3次
  (2 )4次
  (3)

第2题:

性表中采用折半查找法(二分查找法)查找一个数据元素,线性表应(54)。

A.数据元素按值有序

B.采用顺序存储结构

C.据元素按值有序,并且采用顺序存储结构

D.据元素按值有序,并且采用链式存储结构


正确答案:C
解析:只有当线性表中数据元素按值大小有序排列,并且采用顺序存储结构时才能使用折半查找方法查找元素。即使线性表中数据元素按值大小有序排列,但采用的不是顺序存储结构(如链式),仍然不能够采用折半查找方法。本题应选C。

第3题:

在索引顺序表中查找一个元素,可用的且最快的方法是()。

A.用顺序查找法确定元素所在块,再用顺序查找法在相应块中查找

B.用顺序查找法确定元素所在块,再用二分查找法在相应块中查找

C.用二分查找法确定元素所在块,再用顺序查找法在相应块中查找

D.用二分查找法确定元素所在块,再用二分查找法在相应块中查找


参考答案:C

第4题:

在55个互异元素构成的有序表A[1..55]中进行折半查找(或二分查找,向下取整)。若需要找的元素等于A[19],则在查找过程中参与比较的元素依次为( )、A[19]。

A.A[28]、A[30]、A[15]、A[20]
B.A[28]、A[14]、A[21]、A[17]
C.A[28]、A[15]、A[22]、A[18]
D.A[28]、A[18]、A[22]、A[20]

答案:B
解析:
折半查找时,下标计算过程为(注:key的值与A[19]相同):
1、mid=[(1+55)/2]=28,把A[28]与key的值比较后,缩小查找范围为:A[1]至A[27];
2、mid=[(1+27)/2]=14,把A[14]与key的值比较后,缩小查找范围为:A[15]至A[27];
3、mid=[(15+27)/2]=21,把A[21]与key的值比较后,缩小查找范围为:A[15]至A[20];
4、mid=[(15+20)/2]=17,把A[17]与key的值比较后,缩小查找范围为:A[18]至A[20];
5、mid=[(18+20)/2]=19,把A[19]与key的值比较后,发现值相等,找到目标。

第5题:

在55个互异元素构成的有序表A[1..55]中进行折半查找(或二分查找,向下取整)。若需查找的元素等于A[19],则在查找过程中参与比较的元素依次为( )

A.A[28]、A[30]、A[15]、A[20]
B.A[28]、A[14]、A[21]、A[17]
C.A[28]、A[15]、A[22]、A[18]
D.A[28]、A[18]、A[22]、A[20]

答案:B
解析:
本题考查数据结构基础知识。对55个元素构成的有序表进行折半查找时,可用判定树描述查找过程,由于A[19]小于中间元素A[28],所以判定树的左分支如下所示。从中可知,查找过程中参与比较的元素分别为A[28]、A[14]、A[21]、A[17]、A[19]。

第6题:

● 对 n 个元素的有序表 A[1..n]进行二分(折半)查找,则成功查找到表中的任意一个元素时,最多与A 中的 (39) 个元素进行比较。

(39)


正确答案:D

第7题:

在13个元素构成的有序表A[1..13]中进行折半查找(或称为二分查找,向下取整)。那么以下叙述中,错误的是(60)。

A.无论要查找哪个元素,都是先与A[7]进行比较
B.若要查找的元素等于A[9],则分别需与A[7]、A[11]、A[9]进行比较
C.无论要查找的元素是否在A[]中,最多与表中的4个元素比较即可
D.若待查找的元素不在A[]中,最少需要与表中的3个元素进行比较

答案:B
解析:
考察数据结构折半查找算法,B选项错误之处在于,要查找a[9]元素,第一次比较的是A[7](下标计算方法为:[1+13]/2=7),第2次比较的是A[10](下标计算方法为:[8+13]/2=10)。

第8题:

对具有n个元素的有序序列进行二分查找时,(61)。

A.元素位置越靠近序列前端,查找该元素所需的比较次数越少

B.查找序列中任何一个元素所需要的比较次数不超过[log2(n+1)]

C.查找元素所需的比较次数与元素的位置无关

D.元素位置越靠近序列后端,查找该元素所需的比较次数越少


正确答案:B
解析:二分查找过程是:以处于中间位置记录的关键字和给定值比较,若相等,则查找成功;若不等,则缩小范围,直至新的区间中间位置记录的关键字等于给定值或查找区间的大小为零时(表明查找不成功)为止。对于有11个元素的有序表进行二分查找的过程可用一个二叉树表示,如图6-12所示(结点中的数字表示元素在序列中的序号)。

图6-12所示二叉树表明,若需要查找序列中的第6个元素,则仅需一次元素间的比较。若需查找第3个或第9个元素,则分别需要两次比较。依此类推,查找第1、4、7、10个元素时,分别需要三次比较,查找第2、5、 8、11个元素时,分别需要四次比较。因此,查找元素所需的比较次数与元素在序列中的位置是有关的。显然,选项A或D的说法也是错误的。若序列中有n个元素,则根据二分查找法构造的二叉树的高度不会超过[log2(n+1)],因此选项B是正确的。

第9题:

在12个互异元素构成的有序数组a[1..12]中进行二分查找(即折半查找,向下取整),若待查找的元素正好等于a[9],则在此过程中,依次与数组中的(61)比较后,查找成功结束。

A.a[6]、a[7]、a[8]、a[9]
B.a[6]、a[9]
C.a[6]、a[7]、a[9]
D.a[6]、a[8]、a[9]

答案:B
解析:
二分查找法的原则是:首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。

第10题:

设有序列{10,12,15,19,22,25,100,130,150,200}画出对上述序列进行折半查找的判定树(以序列中的元素作为树的结点)。为了成功查找到100需要进行多少次元素间的比较?为了查找9,经过多少次元素间的比较可知道查找失败?
(1)

(2)4次;3次

更多相关问题