中国大学MOOC: 设low和high分别是在有序表中折半查找的指针,如果查找的关键字Key大于low和high的中间值mid所指的关键字,则正确缩小查找区间的是( )。
举一反三
- 设low和high分别是在有序表中折半查找的指针,如果查找的关键字Key大于low和high的中间值mid所指的关键字,则正确缩小查找区间的是( )。 A: high=mid+1 B: high=mid C: low=mid+1 D: low=mid
- 中国大学MOOC: 设low和high分别是在有序表中折半查找的指针,如果查找的关键字key小于low和high的中间值mid所指的关键字,则正确缩小查找区间的是( )。
- 折半查找中,如果左边界是low,右边界是high,中间位置是mid则如果key A: high=mid-1 B: high=mid+1 C: low=mid-1 D: low=mid+1
- 假设待查找区间的起始位置和终止位置分别为low和high,则二分查找算法在下面情况出现时说明找不到要查找的数据( )。 A: low >high B: low<high C: low=high D: low<=high
- 折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值。如果该待查元素的值大于中间点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中点之前的元素,测试方法同前。函数binary的作用是应用折半查找法从存有10个有序整数的a数组中对关键字m进行查找,若找到,返回其下标值;反之,返回 –1。请选择填空。 int binary(int a[10],int m) { int low=0,high=9,mid; while(low<=high) { mid= (low+high)/2; if(ma[mid]) ( ); else return(mid); } return( –1); } (1)A、high=mid – 1 B、low=mid+1 C、high=mid+1 D、low=mid–1 (2) A、high=mid–l B、low=mid+1 C、high=mid+l D、low=mid–1