浙教版(2019)選修1《第五章 數(shù)據(jù)結(jié)構(gòu)與算法》2022年單元測(cè)試卷
發(fā)布:2024/4/20 14:35:0
一、選擇題
-
1.某二分查找算法的python程序段如下:
import random
a=[10,20,30,40,50,60,70,80]
key=random.jye.ai(a)
i,j=0,len(a)-1;s=“”
while i<=j:
m=(i+j)//2
if key==a[m]:
s=s+“M“;break
elif key<a[m]:
j=m-1;s=s+“L“
else:
i=m+1;s=s+“R“
該段代碼執(zhí)行后,s的值不可能是( )A.LLM B.LRM C.RRRM D.RRLM 組卷:0引用:1難度:0.4 -
2.某算法的python程序段如下:
from random import randint
a=[23,21,19,18,16,15,14,11]
key=randint(0,3)*2+13
i,j,c=0,len(a)-1,0
while i<=j:
m=(i+j+1)//2
if a[m]>=key:
i=m+1
else:
j=m-1
c+=1
該程序段執(zhí)行后,下列說(shuō)法不正確的是( )A.i的值為j+1 B.i的值可能是8 C.j的值可能是5 D.c的值一定是3 組卷:3引用:1難度:0.6 -
3.有如下 Python 程序段:
a=[10,15,32,32,45,53,53,65,77,98]
k=int(input( ));s=“”;left,right=0,len(a)-1
while left<=right:
m=(left+right)//2
if a[m]<k:
left=m+1;s=s+“R“
else:
right=m-1;s=s+“L“
該程序運(yùn)行后,變量s的值可能是( )A.“LR“ B.“LRL“ C.“LRR“ D.“RLR“ 組卷:2引用:1難度:0.5
一、選擇題
-
8.有如下Python程序段:
a=[99,85,74,68,53,42,34,27,20,13]
key=int(input(“請(qǐng)輸入一個(gè)整數(shù):“));i,j,k,c=0,9,0,“N“
while i<=j:
m=(i+j+1)//2;k=k+1
if key==a[m]:
c=“Y“;break
if key>a[m]:
j=m-1
else:
i=m+1
print(c,k)
執(zhí)行該程序段后,下列說(shuō)法不正確的是( )A.若輸出 k 的值為 2,則 c 的值一定為 Y B.該程序段既能用于升序序列的查找,也能用于降序序列的查找 C.若輸入 key 的值為 74,程序執(zhí)行后變量 i 和 j 的值分別為 0 和 4 D.輸入兩位任意正整數(shù),k 的值介于 1 和 4 之間 組卷:0引用:1難度:0.5 -
9.有如下Python程序段:
a=[99,85,74,68,53,42,34,27,20,13]
key=int(input(“請(qǐng)輸入一個(gè)整數(shù):”))
i,j,k,c,flag=0,9,0,“N”,F(xiàn)alse
while i<=j and flag==False:
m=(i+j+1)//2
k=k+1
if key==a[m]:
c=“Y“
flag=True
if key>a[m]:
j=m-1
else:
i=m+1
print(c,k)
執(zhí)行該程序段后,下列說(shuō)法正確的是( )A.該程序段既能用于升序序列的查找,也能用于降序序列的查找 B.若輸出k的值為2,則c的值一定為Y C.若輸入key的值為74,程序執(zhí)行后變量i和j的值分別為0和4 D.輸入兩位任意正整數(shù),k的值介于1和3之間 組卷:9引用:4難度:0.4