在12个互异元素构成的有序数组 a[1..12] 中进行二分查找(即折半查找,向下取 整),若待查找的元素正好等于a[9],则在此过程中,依次与数组中的( )比较后,查找成功结束。 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]
在12个互异元素构成的有序数组 a[1..12] 中进行二分查找(即折半查找,向下取 整),若待查找的元素正好等于a[9],则在此过程中,依次与数组中的( )比较后,查找成功结束。
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.a[6]、a[9]
C. a[6]、 a[7]、 a[9]
D.a[6]、 a[8]、 a[9]
参考解析
解析:
相关考题:
对n个元素的有序表A[1..n]进行二分(折半)查找(除2取商时向下取整),查找元素A[i](1≤i≤n)时,最多与A中的(57)个元素进行比较。A.nB.[log2n]-1C.n/2D.[log2n]+1
某一维数组中依次存放了数据元素12,23,30,38,41,52,54,76,85,在用折半(二分)查找方法(向上取整)查找元素54时,所经历“比较”运算的数据元素依次为(62)。A.41,52,54B.41,76,54C.41,76,52,54D.41,30,76,54
将数据元素2,4,6,8,10,12,14,16,18,20依次存放于一个一维数组中,然后采用折半查找方法查找数组元素12,被比较过的数组元素的下标依次为(52)。A.10,16,12B.10,12,16C.5,8,6D.5,6,8
在13个元素构成的有序表A[1..13]中进行折半查找(或称为二分查找,向下取整)。那么以下叙述中,错误的是()。A.无论要查找哪个元素,都是先与A[7]进行比较B.若要查找的元素等于A[9],则分别需与A[7]、A[11]、A[9]进行比较C.无论要查找的元素是否在A[]中,最多与表中的4个元素比较即可D.若待查找的元素不在A[]中,最少需要与表中的3个元素进行比较
在有13个元素构成的有序表data[1..13]中,用折半查找(即二分查找,计算时向下取整)方式查找值等于data[8]的元素时,先后与(41)等元素进行了比较。A.data[7]. data[6]. data[8]B.data[7]. Data[8]C.data[7]. data[10]. data[8]D.data[7]. data[10]、data[9]. data[8]
● 某一维数组中依次存放了数据元素 12,23,30,38,41,52,54,76,85,在用折半(二分)查找方法(向上取整)查找元素54时,所经历“比较”运算的数据元素依次为 (62) 。(62)A. 41, 52, 54B. 41, 76, 54C. 41, 76, 52, 54D. 41, 30, 76, 54
●在有11个元素的有序数组a[1..11]中进行二分查找(即折半查找),依次与(37)比较后,成功找到元素a[5]。(37)A.a[6]、a[2]、a[5]B.a[6]、a[4]、a[5]C.a[6]、a[3]、a[4]、a[5]D.a[6]、a[8]、a[4]、a[5]
第四题 阅读以下说明、C函数和问题,回答问题1和问题2将解答填入答题纸的对应栏内。【说明】当数组中的元素已经排列有序时,可以采用折半查找(二分查找)法查找一个元素。下面的函数biSearch(int r[],int low,int high,int key)用非递归方式在数组r中进行二分查找,函数biSearch_rec(int r[],int low,int high,int key)采用递归方式在数组r中进行二分查找,函数的返回值都为所找到元素的下标;若找不到,则返回-1。【C函数1】int biSearch(int r[],int low,int high,int key)//r[low..high] 中的元素按非递减顺序排列//用二分查找法在数组r中查找与key相同的元素//若找到则返回该元素在数组r的下标,否则返回-1{ int mid; while((1)) { mid = (low+high)/2 ; if (key ==r[mid]) return mid; else if (key (2); else (3); }/*while*/ return -1;}/*biSearch*/【C 函数 2】int biSearch_rec(int r[],int low,int high,int key)//r[low..high]中的元素按非递减顺序排列//用二分查找法在数组r中查找与key相同的元素//若找到则返回该元素在数组r的下标,否则返回-1{ int mid; if((4)) { mid = (low+high)/2 ; if (key ==r[mid]) return mid; else if (key return biSearch_rec((5),key); else return biSearch_rec((6),key); }/*if*/ return -1;}/*biSearch_rec*/ 问题:4.1 (12分)请填充C函数1和C函数2中的空缺,将解答填入答题纸的对应栏内。 问题:4.2 (3分)若有序数组中有n个元素,采用二分查找法查找一个元素时,最多与( )个数组元素进行比较,即可确定查找结果。(7)备选答案:A.[log2(n+1)] B.[n/2] C.n-1 D.n
若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为()。A.9,5,3B.9,5,2,3C.1,2,3D.9,4,2,3
在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]
在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]
若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为()A、1,2,3B、9,5,2,3C、9,5,3D、9,4,2,3
填空题在有序表A[1..12]中,采用二分查找算法查等于A[12]的元素,所比较的元素下标依次为()。