网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
在二分查找实现中,若将语句 low = mid + 1 和 up = mid - 1,分别改为 low = mid 和 up = mid ,则程序运行的结果有可能为?
A.还是能够找到待查找值的正确的位置
B.程序有可能进入死循环
C.找到的结果总是比想要的值大
D.找到的结果总是比想要的值小
参考答案和解析
B
更多 “在二分查找实现中,若将语句 low = mid + 1 和 up = mid - 1,分别改为 low = mid 和 up = mid ,则程序运行的结果有可能为?A.还是能够找到待查找值的正确的位置B.程序有可能进入死循环C.找到的结果总是比想要的值大D.找到的结果总是比想要的值小” 相关考题
考题
●试题六阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。【说明】设计一个类模板Sample用于对一个有序数组采用二分法查找元素下标。【C++程序】#includeiostream.h#define Max 100∥最多元素个数templateclass Tclass Sample{T A[Max]:∥存放有序数序int n:∥实际元素个数publicSample(){}∥默认构造函数Sample(T a[],int i);∥初始化构造函数int seek(T c);void disp(){for(int i=0;in;i++)coutA[i]"";coutend1:}};templateclass TSampleT::Sample(T a[],int i){n=i;for(intj=0;ji;j++)(1) ;}templateclass Tint SampleT::seek(T c){int low=0,high=n-1,mid;while( (2) ){mid=(low+high)/2;if( (3) )return mid;else if( (4) )low=mid+l;else(5) ;}return-1;}void main(){char a[]="acegkmpwxz";Samplechars(a,1。);cout"元素序列:";s.disp();cout"元素′g′的下标:"s.seek(′g′)endl;}
考题
●试题一阅读下列算法说明和算法,将应填入(n)处的语句写在答题纸的对应栏内。【说明】为了减少直接插入排序关键字的比较次数,本算法使用了二分(折半)插入法对一个无序数组R[1..n]进行排序。排序思想是对一个待插入元素,先通过二分法(折半)找到插入位置,后移元素后将该元素插入到恰当位置(假设R[]中的元素互不相同)。【算法】1.变量声明X:DataTypei,j,low,high,mid,R0..n2.每循环一次插入一个R[i]循环:i以1为步长,从2到n,反复执行①准备X-R[i]; (1) ;high-i-1;②找插入位置循环:当 (2) 时,反复执行(3)若X.keyR[mid].key则high-mid-1否则 (4)③后移循环:j以-1为步长,从 (5) ,反复执行R[j+1]-R[j]④插入R[low]-X3.算法结束
考题
阅读以下说明和Java代码,将应填入(n)处的字句写在对应栏内【说明】编写字符界面的Application程序,接收依次输入的10个整型数据,每个数据一行,将这些数据按升序排序后从系统的标准输出设备输出。【Java代码】import java.iO.*;import java.util.* ;public class compositor{public static void main ( String args[] ){final int NUMBER=10;Vector dataVector=new Vector ();try{BufferedReader br=new BufferedReader ((1) InputStreamReader ( System.in ));System.out.println ("请输入"+NUMBER+"个整数");for (int i=0; i<NUMBER; i++ ){int temp=Integer.parselnt ( br.(2));int low=0, high=i-1, mid=0;while ((3)){System.out.println ( low+","+mid+","+high );(4);if ((( Integer ) dataVectOr.get( mid )) .intValue () ==temp ){data Vector.insertElementAt ( new Integer ( temp ), mid );break;}else if ((( Integer ) dataVector.get ( mid )) .intValue ( ) >temp ){high=mid-1;}else{(5);}}if ( low>high ){dataVector, insertElementAt ( new Integer ( temp ), iow );}}//输出System.out.println ( "\n升序的排序结果为; ");for (int i=0; i<NUMBER; i++ ){System.out.print ( dataVector.get( i ) .toString () +"\t" );}}catch ( NumberFormatException nfe){System.out.println ( nfe.toString ());System.out.println ( "整数格式输入错误。");}catch ( IOException ioe ){System.out.println ( ioe.toString ());}}}
考题
N个有序整数数列已放在一维数组中,给定下列程序中,函数fun()的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,则返回其下标值:反之,则返回-1。折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low<high),然后把m与中间位置(mid)中元素的值进行比较。如果m的值大于中间位置元素中的值,则下一次的查找范围放在中间位置之后的元素中;反之,下次查找范围落在中间位置之前的元素中。直到low>high,查找结束。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <stdio.h>define N 10/*************found*********************/void fun(int a[],int m){ int low--0,high=N-l,mid;while (low<=high){ mid=(low+high)/2;if(m<a[mid])high=mid-1;/*************found*********************/else if(m>=a [mid])low=mid+1;else return(mid);}return(-1);}main (){ int i,a[N]={-3,4,7,9,13,24,67,89,100,180},k,m;printf ("a数组中的数据如下: ");for(i=0;i<N;i++) printf("%d",a[i]);printf ("Enter m: "); scanf ("%d", m);k=fun (a,m);if (k>=0) printf ("m=%d, index=%d\n",m, k);else printf("Not be found!\n");}
考题
( 31 )在窗体上画 1 一个名称为 Command1 的命令按钮,并编写以下程序Private Sub Command1_Click ()Print fun ( “ ABCDEFG ” )End SubFunction fun ( st As String ) As Stringstlen=Len ( st )temp= ””For ktemp=temp=Mid(st,k,l)+Mid(st,stlen-k+1 , 1)Next kfun=tempEnd Function程序运行时,单击命令按钮,则窗体上显示的是( )A ) ABCDEFGB ) AGBFCEC ) GFEDCBAD ) AGBFCED
考题
(15)以下不能输出“Program”的语句是( )。A)Print Mid("VBProgram", 3, 7)B)Print Right("VBProgram", 7)C)Print Mid("VBProgram", 3)D)Print Left("VBProgram", 7)
考题
阅读下列算法说明和算法,将应填入(n)处的语句写在对应栏内。【说明】为了减少直接插入排序关键字的比较次数,本算法使用了二分(折半)插入法对一个无序数组R[1..n]进行排序。排序思想是对一个待插入元素,先通过二分法(折半)找到插入位置,后移元素后将该元素插入到恰当位置。(假设R[]中的元素互不相同)[算法]1.变量声明X: Data Typei,j,low, high,mid,r:0..n2.每循环一次插入一个R[i]循环:i以1为步长,从2到n,反复执行。(1)准备X←R[i];(1); high←i-1;(2)找插入位置循环:当(2)时,反复执行。(3)若X.key<R[mid].key则high←mid-1;否则 (4)(3)后移循环:j以-1为步长,从(5),反复执行。R[j+1]←R[j](4)插入R[low]←X3.算法结束
考题
下列不能从“yesterday”中取出字符串“yes”的函数是()。
A、MID(“yesterday”,1,3)B、LEFT(“yesterday”,3)C、MIDB(“yesterday”,1,6)D、RIGHT(MID(“yesterday”,1,3),3)
考题
阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】设计一个类模板SamPle用于对一个有序数组采用二分法查找元素下标。【C++程序】include < iostream. h >define Max 100 //最多元素个数template < class T >class Sample{T A[Max]: //存放有序数序int n: //实际元素个数publicSample( ) { } //默认构造函数Sample(T a[] ,int i); //初始化构造函数int seek(T c);void disp( ){for(int i=0;i <n;i ++)cout<<A[i] <<" ";cout<<endl:} } template < class T >Sample <T>: :Sample(T a[ ],int i){n=i:for( intj =0;j < i;j ++ )(1);}template < class T >int Sample < T >:: seek( T c){int low =0,high = n-1 ,mid;while((2)){mid = (low + high)/2;if((3))return mid;else if( (4) )low=mid+|;else(5);}return-1;}void main( ){char a[ ] ="acegkmpwxz";Sample < char > s(a, 1);cout<<"元素序列:" ;s. disp( );cout<<"元素'g'的下标:"<<s. seek('g') <<endl;}
考题
假设某数据库表中有一个“学生编号”字段,查找编号第3, 4个字符为“03”的记录的准则是( )。A.Mid([学生编号],3, 4)=“03”B.Mid([学生编号],3, 2)=“03” C.Mid(“学生编号”,3,4)=“03”D.Mid(“学生编号”,3,2)=“03”
考题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]已知r[1...n]是n个记录的递增有序表,用折半查找法查找关键字为k的记录。若查找失败,则输出“failure",函数返回值为0;否则输出“success”,函数返回值为该记录的序号值。[C函数]int binary search(struct recordtype r[],int n,keytype k){ intmid,low=1,hig=n;while(low<=hig){mid=(1);if(k<r[mid].key) (2);else if(k==r[mid].key){printf("succesS\n");(3);}else (4);}printf("failure\n");(5);}
考题
运行下列程序:Private Sub form_Click( )x$ = 123: y$ = abcn = Len(x)For i = 1 To nPrint Mid(x$, n + 1 - i, 1) + Mid(y$, i, 1);Next iPrintEnd Sub单击窗体后,则输出结果是( )。A.a1b2c3B.a3b2c1C.3a2b1cD.1c2b3a
考题
在Excel工作表A1单元格里存放了18位二代身份证号码,在A2单元格中利用公式计算该人的年龄,最优的操作方法是:A)=YEAR(TODAY())-MID(A1,6,8)B)=YEAR(TODAY())-MID(A1,6,4)C)=YEAR(TODAY())-MID(A1,7,8)D)=YEAR(TODAY())-MID(A1,7,4)
考题
假设某数据库表中有一个“学生编号”字段,查找编号第3、4个字符为“03'’的记录的准则是______。A.Mid([学生编号1,3,4):"03"B.Mid([学生编号],3,2)="03"C.Mid("学生编号",3,4)="03"D.Mid("学生编号",3,2)="03"
考题
Generally speaking, you should expect to find low atmospheric pressure prevailing in the earth’s ______.A.equatorial areaB.polar regionsC.mid-latitudesD.All of the above
考题
第四题 阅读以下说明、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
考题
Usually low key is used for emphasis and contrast; mid key indicates an expected, neutral attitude; and low key provides low information.()A对B错
考题
数据结构与算法里,折半查找中,low指向低端的记录,high指向高端的记录,每次计算中间位置mid的公式是()。A、(lowhigh)/2B、(low+high)/2C、(low-high)/2D、low/2+high/2
考题
Usually low key is used for emphasis and contrast; mid key indicates an expected, neutral attitude; and low key provides low information.()
考题
完成下列折半插入排序算法。 Void binasort(struct node r[MAXSIZE],int n) {for(i=2;i=n;i++){ r[0]=r[i];low=1;high=i-1; while(low=high){ mid=(low+high)/2; if(r[0].key else low=mid+1 ; } for(j=i-1;j=low;j- -)r[j+1]=r[j] ; r[low]=() ; } }
考题
单选题数据结构与算法里,折半查找中,low指向低端的记录,high指向高端的记录,每次计算中间位置mid的公式是()。A
(lowhigh)/2B
(low+high)/2C
(low-high)/2D
low/2+high/2
考题
判断题Usually low key is used for emphasis and contrast; mid key indicates an expected, neutral attitude; and low key provides low information.()A
对B
错
考题
填空题完成下列折半插入排序算法。 Void binasort(struct node r[MAXSIZE],int n) {for(i=2;i else low=mid+1 ; } for(j=i-1;j=low;j- -)r[j+1]=r[j] ; r[low]=() ; } }
热门标签
最新试卷