网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

在二分查找实现中,若将语句 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;}

考题 已知A$=“12345678“,则表达式Val(Mid(A,1,4)+Mid(A,4,2))的值为()。 A、123456B、123445C、8D、6

考题 假设某数据库表中有一个“学生编号”字段,查找编号第3, 4个字符为“03”的记录的准则是( )。A.Mid([学生编号],3, 4)=“03”B.Mid([学生编号],3, 2)=“03” C.Mid(“学生编号”,3,4)=“03”D.Mid(“学生编号”,3,2)=“03”

考题 折半查找function binsearch(k:keytype):integer;var low,hig,mid:integer;

考题 阅读以下函数说明和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.()

考题 PowerPoint插入声音文件有()A、WAV、MID、FLASHB、MID、WAV、MP3C、MID、FLASH、MP3D、WAV、MP3、FLASH

考题 在页面中添加背景音乐bg.mid,循环播放3次的语句是()。

考题 完成下列折半插入排序算法。 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]=() ; } }

考题 前、中、后舱的英文缩写分别为()A、FWD、AFT、MIDB、AFT、MID、FWDC、FWD、MID、AFTD、MID、FWD、AFT

考题 单选题数据结构与算法里,折半查找中,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]=() ; } }