浙江选考信息技术客观题专题汇编之专题十一排序、查找及应用(PDF版,含答案)

文档属性

名称 浙江选考信息技术客观题专题汇编之专题十一排序、查找及应用(PDF版,含答案)
格式 zip
文件大小 450.6KB
资源类型 教案
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2022-12-27 20:09:44

图片预览

文档简介

1. 2022 6 11
1 python a
import random
a = []
for i in range(6):
a.append(random.randint(1,5)*2+i%2)
for i in range(1,5):
j = i; k = a[j]
while a[j-1]0:
a[j] = a[j-1]; j=j-1
a[j] = k
A 11,8,7,6,5,5 B 8,6,5,5,3,8 C 9,6,7,8,8,11 D 11,11,8,2,2,11
2. 2022 8 Z20 12
2 Python
import random
n=random.randint(1,4)
a=[7,2,7,3,9,4]
for i in range(1,n):
for j in range(0,6-i):
if a[j]a[j],a[j+1]=a[j+1],a[j]
a
A 9,7,7,4,3,2 B 7,7,3,9,4,2 C 7,9,7,4,3,2 D 7,2,7,3,9,4
3. 2022 9 11
3. 2,30,18,21,6,9,65,
A. 2,30,18,21,65,6,9 B. 30,2,18,21,6,9,65 C. 30,18,21,6,9,65,2 D.
30,18,2,21,6,9,65
4. 2022 11 14
4. Python
s=[2,3,4,9,7,8,5]
n=len(s)
for i in range(n-1):
for j in range(n-1,i,-1):
if s[j]s[j],s[j-1]=s[j-1],s[j]
A. 21 B. s
[9,8,7,5,4,3,2]
C. s O(1) D.
“ ”
1/9
5. 2022 11 11
5. a b b[i] a[i]
Python
n=len(a)
for i in range(1,n):
for j in range(0,n-i):
if (1) or (2) and (3) :
a[j],a[j+1]=a[j+1],a[j]
b[j],b[j+1]=b[j+1],b[j]
a[j]>a[j+1] a[j]==a[j+1] a[j]b[j]>b[j+1]
(1)(2)(3)
A. B. C. D.
6. 2023 10 12
6. Python 10 a
i=0
while i<9:
for j in range(9,i,-1):
if a[j]a[j],a[j-1]=a[j-1],a[j]
A. i=1 B. i=j+1 C. i=j-1 D. i=j
7. 2022 11
7. 8, 6, 2, 3, 5, 1
8, 6, 1, 2, 3, 5 1, 8, 6, 2,3 5
8, 2, 3, 5, 1, 6 2, 8, 3, 5, 1, 6
A. B. C. D.
8. 2022 12 11
8. a
a=[3,10,8,5,7]
for i in range(1, len(a)):
for j in range( (1) ):
if (2) :
a[j], a[j+1]=a[j+1],a[j]
:
0,1en(a)-i,1 1,len(a)-i+1,1 1en(a)-1, i-2,-1 a[j]>a[j+1] a[j](1)(2)
A. B. C. D.
2/9
9. 2022 6 12
9 python
import random
a = [10,20,30,40,50,60,70,80]
key = random.choice(a); i,j = 0,len(a)-1; s =
while i<=j:
m = (i+j)//2
if key == a[m]:
elif key < a[m]:
j = m-
else:
print(s)
A LLM B LRM C RRRM D RRLM
10. 2022 8 A9 11
10 Python
a = [99,85,74,68,53,42,34,27,20,13]
while i <= j and flag == False:
m = (i + j + 1) //2
k = k + 1
if key == a[m]:
flag = True
if key > a[m]:
j = m -1
else:
i = m + 1
print(c,k)
A
B k 2 c Y
C key 74 i j 0 4
D k 1 3
11. 2022 8 Z20 9
11 Python
import random
key=random.randint(35,45)*2
3/9
i=0;j=len(a)-1;s=[]
while i<=j:
m=(i+j+1)//2
s.append(a[m])
if keyj=m-1
else:
i=m+1
a 58,69,78,80,83,84,90,90,95 s
A.83,90,95 B. 83,78,80 C.83,90,90,84 D.83,78,69,58
12. 2022 9 12
12. python :
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
a = [ 23 , 21 , 19 , 18 , 16 , 15 , 14 , 11 ]
A. i j + 1 B. i 8 C. j 5 D. c 3
13. 2022 9 12
13. Python L
L
i = 0;j = 9
while i<=j:
m=(i+j)//2
if
j = m —1
else:
i=m+1
if L[j]! = key:
print ( )
else:
sl = j
while key= = L[j] and j>= 1
j=j -1
4/9
A. keyC. key<= L[m] s2 = j D. key< = L[m] s2=j + 1
14. 2022 10 12
14. Python
import random
key=random.randint(0,4)*2+5
n=10;ans=0
a=[4,5,5,8,9,11,11,13,15,17]
i=0;j=n-1
while i<=j:
m=(i+j)//2
if a[m]<=key:
i=m+1
else:
j=m-1
ans+=a[m]
print(ans)
ans
A. 19 B. 27 C. 37 D. 44
15. 2022 11 12
15. Python
d=[88,77,53,47,39,28]
i,j,n=0,len(d)-1,0
while i<=j:
m=(i+j)//2; n+=1
if key==d[m]:
break
if key>d[m]:
j=m-1
else:
i=m+1
print(i,j,m,n)
A. key d i j B. key d[0]
j 0
C. key 40 n 3 D. key 40
m 5
16. 2022 11 13
16. Python a key
5/9
# a ,
key=int(input( ))
i,j=0,len(a)-1
while im=(i+j+1)//2
if :
j=m-1
else:
i=m
print(i)
A. a[m]<=key B. a[m]=key D. a[m]>key
17. 2022 11 12
17. python key a key
a = [1, 1, 2, 2, 2, 3]
Print(a)
key = int(input(' :'))
i = 0
j = len(a)-1
while i < j:
m = (i + j + 1) // 2
if key >= a[m]:
i = m + 1
else:
j = m - 1
if j==len(a):
else:
[1, 1, 2, 2, 2, 3] [1, 1, 2, 2, 2, 3] [1, 1, 2, 2, 2, 3]
: 1 : 2 : 3
>1 2 >2 5 >3
A. 4 B. 3 C.2 D.1
18. 2022 12
18. nums n+1 [1, n] nums = [1, 3, 4, 2, 2]
2
a = [1, 3, 4, 2, 2]
6/9
L, R = 1, len(a) - 1
while L <= R:
mid = (L + R) // 2
cnt = 0
for i in a:
if i <= mid:
cnt += 1
if cnt <= mid:
else:
ans = mid
print ans)
A. L = mid R = mid B. L= mid R=mid - 1
C. L = mid + 1 R = mid – 1 D. R = mid - 1 L=mid + 1
19. 2023 10 10
19. Python
i=0
j=29
m=(i+j)//2
while i<=j and key!=a[m]:
if key>a[m]:
i=m+1
else:
j=m-1
m=(i+j)//2 #
a 30 key a[9]
A. 2 B. 3 C. 4 D. 5
20. 2022 12
20. a key,
a key
n=len(a)
i=0
j=
if keyprint(' !')
else:
while im = (i+j)//2
7/9
if :
j=m
else:
i=m+1
print( )
A. n-1 key>a[m] i B. n-1 key>=a[m] i+1
C. n key>=a[m] j D. n key>=a[m] j+1
21. 2022 10 12
21. Python :
key = randint ( 1 , 3 ) * 2 + 12
i , j , c = 0 , len ( a ) – 1 , 0
while i <= j :
m = ( i + j ) // 2
if a [ m ] >= key :
i = m + 1
else :
j = m - 1
c += 1
a = [ 25 , 21 , 19 , 18 , 16 , 14 , 12 , 8 ]
A. i j + 1 B. i 4
C. j 4 D. c 4
22. 2022 6 12
22. Python
a=[14,17,18,19,19,22,22,22,28,28]
s=0
L,R=0,len(a)-1
while L<=R:
m=(L+R)//2
s+=1
if a[m]>key:
R=m-1
else:
L=m+1
key 22
A.m 7 B.s 3 C.L 8 D.R
7
23. 2022 12 12
23. Python
def search(i,j):
8/9
while i<=j:
m=(i+j)//2
if a[m]>a[m-1] and a[m]i=m+1
elif a[m]a[m+1]:
j=m-1
else:
return m
a=[3,11,20,25,30,36,50,49,37,16]
print(a[search(0,9)])
A. 50 B. 6 C. 7 D. 49
24. 2022 12 12
24. a
import random
key=random.randint(0,4)*2+20
a=[12,14,15,15,19,x,20,24,y,26]
i=0;j=n-1;c=0;n=10;ans=0
while i<=j:
m=(i+j)//2
if a[m]<=key:
i=m+1
else:
j=m-1
c+=1
key c 4 x y
A. 19 25 B. 20 26 C. 20 25 D. 20 24
25. 2022 12 12
25. Python
import random
a = [10,11,13,16,16,21]
key = random.randint(0,30)
i = 0
j = len(a)-1
n = 0
while i<=j:
m=(i+j)//2
n+=1
if key>a[m]:
i=m+1
else:
j=m-1
print(n)
n
A. 1 B. 2 C. 3 D. 4
9/9
11. 排序、查找及应用
1 2 3 4 5 6 7 8
D A C D C D B A
9 10 11 12 13 14 15 16
D B D B B A C D
17 18 19 20 21 22 23 24
B C C C D A A D
25
B
同课章节目录