采用二分查找法,若当前取得的中间位置MID的元素值小于被查找值,则表明待查元素可能在表的后半部分,下次查找的起始位置通常应( )
A: 从MID/2位置开始
B: 从MID位置开始
C: 从MID-1位置开始
D: 从MID+1位置开始
A: 从MID/2位置开始
B: 从MID位置开始
C: 从MID-1位置开始
D: 从MID+1位置开始
举一反三
- 若用二分查找取得的中间位置元素关键字值大于被查找值,则说明被查找值位于中间值的前面,下次的查找区间为从原开始位置至( ) 。 A: 该中间位置 B: 该中间位置-1 C: 该中间位置+1 D: 该中间位置1/2
- 若用二分查找法用取得的中间位置元素键值大于被查找值,说明被查找值位于中间位置的前面,下次的查找区间为从原开始位置至
- 设L[low..high]是当前的查找区间,首先让待查找的数据元素同线性表中间结点mid=(low+high)/2的关键字比较,若待查找的数据元素比中间结点的关键字大,则在线性表的后半部分,即 low =( )进行二分检索。 A: mid-1 B: mid C: mid+1 D: mid/2
- 折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值。如果该待查元素的值大于中间点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中点之前的元素,测试方法同前。函数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
- 置位指令在使能输入有效后从起始位开始的N个位置置位为1。