资源简介 二分查找选择题专题二班级 姓名1.【202304杭二模】有如下Python程序段:import randoma=[2,3,5,8,10,10,10,17,19,20]key=random.randint(1,30) #随机生成[1,30]之间的整数i,j=0,9while i<=j:m=(i+j)//2if a[m]>key:j=m-1else:i=m+1print(j)执行该程序段,下列说法正确的是( )A.若key的值为10,则输出的值为3B.若输出的值为8,则key的值一定为19C.对于任意key值,语句“m=(i+j)//2”最少执行1次D.对于任意key值,语句“m=(i+j)//2”最多执行3次2.【202304天域联盟】某二分查找算法的Python程序如下:import randomkey=random.randint(0,4)*2+5n=10 ; ans=0a=[4,5,5,8,9,11,11,13,15,17]i=0 ; j=n-1while i<=j:m=(i+j)//2if a[m]<=key:i=m+1else:j=m-1ans+=a[m]print(ans)程序运行后,输出ans的值不可能是( )A.19 B.27 C.37 D.443.【202304暨阳联谊】某对分查找的Python程序如下:from random import randinta=[19,17,16,14,13,11,9,7]key=randint(0,4)*2+9i=0 ; j=7 ; c=0while i<=j:c=c+1 ; m=(i+j)//2if a[m]>key:i=m+1else:j=m-1该程序段执行后,下列说法不正确的是( )A.j的值可能为1 B.c的值一定等于3C.i的值一定等于j+1 D.i的值一定不等于74.【202304金华十校】有如下Python程序:a=[0,20,23,23,24,24,31,48,49,73,75]key=int(input())c=0i,j=1,10while i<=j:m=(i+j)//2if a[m]<=key:i=m+1else:j=m-1c+=1print(c)若程序运行后,输出的结果是3,则输入的key可能是( )A.20 或 73 B.24 或 49 C.23 或 24 D.23 或 495.【202304台州二模】列表a和列表b均有5个从小到大排列的整数元素,且列表a的最后一个元素大于列表b的最后一个元素。有如下Python程序段:i=0 ; j=len(a)-1 ; c=0for key in b:while i<=j:m=(i+j)//2 ; c+=1if keyj=m-1else:i=m+1a=a[:i]+[key]+a[i:]i+=1 ; j=len(a)-1执行该程序段后,c的值至少是( )A.5 B.6 C.10 D.206.【202304绍兴二模】有如下Python程序:import randomtarget=random.randint(20,70) #随机生成[20,70]区间内的一个正整数nums=[11,23,35,44,57,68,76,89]left=0 ; right=len(nums)-1lst=[]while left<=right:lst.append([left,right]) #为lst追加一个元素mid=(left+right)//2if nums[mid]==target:breakelif nums[mid]left=mid+1elif nums[mid]>target:right=mid-1该程序执行完后,列表lst的长度不可能为( )A.1 B.2 C.3 D.47.【202304嘉兴二模】有如Python程序段:import randomdef find(x, y):m=(x+y+1)//2if a[m]==key:return mif a[m]>key:y=m-1else:x=m+1return find(x, y)a=[2,4,6,8,10,12,14,16]key=random.choice(a) #从序列的元素中随机挑选一个元素i=0 ; j=len(a)-1xb=find(i,j)print(xb,key)上述程序执行完后,函数find被调用的最多次数是( )A.3 B.4 C.5 D.68.【202303杭州周边重点中学】某二分查找算法的程序段如下:key=int(input('待查数据为:'))i=0 ; j=10 ; n=0while i<=j:m=(i+j+1)//2if a[m]==key:breakelif a[m]>key:j=m-1 ; n=n-1else:i=m+1 ; n=n+1执行该程序段后,下列说法正确的是( )A.该程序若要实现对分查找,要求数组a按降序排列B.若n为-2,则查找key值可能等于a[3]的值C.若n为2,则查找key的值可能小于a[10]D.n的值最小为-4,最大为49.【202303七彩阳光金丽衢】有如下Python程序段:import randoma=[90,15,40,72,59,32,81,6] ; b=[7,1,5,2,4,3,6,0]i,j=0,len(a)-1key=random.randint(30,60)while i<=j:m=(i+j)//2if a[b[m]]==key:p=b[m]breakelif a[b[m]]i=m+1else:j=m-1程序运行后,变量p的值不可能是( )A.2 B.3 C.4 D.5二分查找选择题专题二班级 姓名1——5:BAABB6——10:DBCD 展开更多...... 收起↑ 资源列表 浙教版新教材(2019)信息技术选考二轮复习系列专题配套练习——二分查找最新选择题专题二.docx 浙教版新教材(2019)信息技术选考二轮复习系列专题配套练习——二分查找最新选择题专题二答案.docx