折半查找中,如果左边界是low,右边界是high,中间位置是mid则如果key A: high=mid-1 B: high=mid+1 C: low=mid-1 D: low=mid+1
折半查找中,如果左边界是low,右边界是high,中间位置是mid则如果key A: high=mid-1 B: high=mid+1 C: low=mid-1 D: low=mid+1
中国大学MOOC:在二分查找实现中,若将语句low=mid+1和up=mid-1,分别改为low=mid和up=mid,则程序运行的结果有可能为?
中国大学MOOC:在二分查找实现中,若将语句low=mid+1和up=mid-1,分别改为low=mid和up=mid,则程序运行的结果有可能为?
4.试将折半查找的算法改写成递归算法。Itbisearch(sqlistL,itlow,ithigh,elemtypex){If(lowhigh)retur(0else{if(L.data[mid]==x)retur(mid);elseif(L.data[mid]x)bisearch(L,low,mid-1,x);elsebisearch(L,mid+1,high,x);}}//bisearch
4.试将折半查找的算法改写成递归算法。Itbisearch(sqlistL,itlow,ithigh,elemtypex){If(lowhigh)retur(0else{if(L.data[mid]==x)retur(mid);elseif(L.data[mid]x)bisearch(L,low,mid-1,x);elsebisearch(L,mid+1,high,x);}}//bisearch
设$A,B$是$n$阶正交矩阵,且$\mid A\mid=-\mid B\mid$,则( ). A: $A+B$可逆 B: $A+B$不可逆 C: $\mid A+B\mid=1$ D: $\mid A+B\mid=-1$
设$A,B$是$n$阶正交矩阵,且$\mid A\mid=-\mid B\mid$,则( ). A: $A+B$可逆 B: $A+B$不可逆 C: $\mid A+B\mid=1$ D: $\mid A+B\mid=-1$
设L[low..high]是当前的查找区间,首先让待查找的数据元素同线性表中间结点mid=(low+high)/2的关键字比较,若待查找的数据元素比中间结点的关键字大,则在线性表的后半部分,即 low =( )进行二分检索。 A: mid-1 B: mid C: mid+1 D: mid/2
设L[low..high]是当前的查找区间,首先让待查找的数据元素同线性表中间结点mid=(low+high)/2的关键字比较,若待查找的数据元素比中间结点的关键字大,则在线性表的后半部分,即 low =( )进行二分检索。 A: mid-1 B: mid C: mid+1 D: mid/2
采用二分查找法,若当前取得的中间位置MID的元素值小于被查找值,则表明待查元素可能在表的后半部分,下次查找的起始位置通常应( ) A: 从MID/2位置开始 B: 从MID位置开始 C: 从MID-1位置开始 D: 从MID+1位置开始
采用二分查找法,若当前取得的中间位置MID的元素值小于被查找值,则表明待查元素可能在表的后半部分,下次查找的起始位置通常应( ) A: 从MID/2位置开始 B: 从MID位置开始 C: 从MID-1位置开始 D: 从MID+1位置开始
对于汉诺塔问题,假设盘子从上到下编号1,2,3,...,现在要把“start柱子上的n个盘子移到end柱子,mid柱子为辅助。如果用(a,b,c)表示将编号a的盘子从b柱子移到c柱子,那么下面哪个列表表示两个盘子的解决方法? A: [(1,start,mid),(1,mid,end),(2,start,end)] B: [(2,start,end),(1,mid,end),(1,start,mid)] C: [(1,start,end),(2,start,end),(1,mid,end)] D: [(1,start,mid),(2,start,end),(1,mid,end)]
对于汉诺塔问题,假设盘子从上到下编号1,2,3,...,现在要把“start柱子上的n个盘子移到end柱子,mid柱子为辅助。如果用(a,b,c)表示将编号a的盘子从b柱子移到c柱子,那么下面哪个列表表示两个盘子的解决方法? A: [(1,start,mid),(1,mid,end),(2,start,end)] B: [(2,start,end),(1,mid,end),(1,start,mid)] C: [(1,start,end),(2,start,end),(1,mid,end)] D: [(1,start,mid),(2,start,end),(1,mid,end)]
代码填空【使用递归实现二分查找】 int binarySearch(int a[], int key, int low, int high) { if (low > high) return -1; int mid; mid = (low + high) / 2; if (key == a[mid]) return mid; else if (key < a[mid]) return ________(1)__________; else return ________(2)______________; }
代码填空【使用递归实现二分查找】 int binarySearch(int a[], int key, int low, int high) { if (low > high) return -1; int mid; mid = (low + high) / 2; if (key == a[mid]) return mid; else if (key < a[mid]) return ________(1)__________; else return ________(2)______________; }
若输入52<;CR>;,则下面程序的运行结果是。main(){int a[8]={6,12,18,42,46,52,67,73};int low=0,mid,high=7,x;printf("Input a x:");scanf("%d",&x);while(low<;=high){mid=(low+high)/2;if(x>;a[mid]) low=mid+1;else if(x<;a[mid]) high=mid-1;else break;}if(low<;=high) printf("Search Successful! The index is:%d\n",mid);else printf("Can't search!\n");}
若输入52<;CR>;,则下面程序的运行结果是。main(){int a[8]={6,12,18,42,46,52,67,73};int low=0,mid,high=7,x;printf("Input a x:");scanf("%d",&x);while(low<;=high){mid=(low+high)/2;if(x>;a[mid]) low=mid+1;else if(x<;a[mid]) high=mid-1;else break;}if(low<;=high) printf("Search Successful! The index is:%d\n",mid);else printf("Can't search!\n");}
取字符串s的倒数第i个字符,正确的表达式是( )。 A: Mid(s,i,1) B: Mid(s,Len(s)-i,1) C: Mid(s,Len(s)-i-1,1) D: Mid(s,Len(s)-i+1,1)
取字符串s的倒数第i个字符,正确的表达式是( )。 A: Mid(s,i,1) B: Mid(s,Len(s)-i,1) C: Mid(s,Len(s)-i-1,1) D: Mid(s,Len(s)-i+1,1)