课件编号20889315

2025届信息技术一轮复习单元检测:第七单元 数据结构与算法(含解析)

日期:2024-09-17 科目:信息技术 类型:高中试卷 查看:76次 大小:169355Byte 来源:二一课件通
预览图 1/5
单元,2025届,信息技术,一轮,复习,检测
  • cover
第七单元 数据结构与算法 信息技术(50分) 一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分) 1.定义如下递归函数: def f(a,n): n=n-1 if n==0: return a else: return f(a-1,n)+f(a+1,n) print(f(5,3)) 程序运行后﹐输出的结果是(  ) A.10 B.20 C.30 D.40 2.定义如下函数: def f(s): if len(s)==1: return s[0] elif len(s)==2: return s[0]+s[1] else: return f(s[0:len(s)//3])+f(s[len(s)//3:len(s)]) 执行语句s=f([1,2,3,4,5,6]),函数f被调用的次数是(  ) A.3 B.5 C.7 D.15 3.定义如下函数: def jc (n): if n==l: #① return n return n*jc(n-1) #② 执行语句x=jc(5),下列说法正确的是(  ) A.x的计算结果为120 B.程序执行完毕,①处代码共执行1次 C.程序执行完毕,②处代码共执行5次 D.如果①处代码改成n<2,程序将无法正常执行 4.有如下Python程序段: def f(s): if len(s)==1: return True elif len(s)==2: return s[0]==s[1] elif s[0]==s[-1]: return f(s[1:-1]) else: return False print(f(″1234321″)) 执行该程序段后,下列说法正确的是(  ) A.输出结果为False B.函数f运用了迭代算法 C.函数f的调用次数为4 D.函数f的时间夏杂度为O(n2) 5.采用冒泡排序算法对数据序列“8,7,2,3,9,6,5”完成升序排序,排序2趟后,正确的顺序是(  ) A.2,3,8,7,5,6,9 B.2,3,8,7,9,6,5 C.2,3,5,6,7,8,9 D.2,3,7,5,6,8,9 6.采用冒泡排序算法对数据序列“2,3,4,5,1,0”完成升序排序,则需要交换的次数为(  ) A.9次 B.12次 C.15次 D.18次 7.下列代码采用冒泡排序对a列表中的n个数据升序排序,则①②两处不可用的选项是(  ) for i in range(①_____): for j in range(②_____): if a[j] s[a[j+1]]:      a[j],a[j+1]=a[j+1],a[j] print(a) 运行该程序段输出的结果为(  ) A.[4,3,2,5,1,0] B.[4,5,3,2,1,0] C.[4,2,3,0,1,5] D.[4,3,2,5,0,1] 9.某排序算法的Python程序段如下: '读取n个整数,依次存入a[1]到a[n]中,代码略 for i in range(1,n-1): for j in range(n,i+1,-1): if a[j]>a[j-1]:      a[j],a[j]=a[j-1],a[j-1] 执行上述程序段,下列说法正确的是 A.交换过位置的数据,可能会再回到其初始位置 B.执行完成后,数组元素a[1]到a[n]从小到大排列 C.若n为6,整个排序过程总的比较次数是30 D.整个排序过程总的交换次数至少为1 10.某对分查找算法的Python程序段如下: key=int(input(″请输入待查数据值:″)) d=[17,18,20,23,24,25,28,32,34,35] f=False;s=″″ i=0;j=len(d)-1 while i<=j: m=(i+j)//2 s=s+″,″+str(d[m]) if d[m]==key: f=True break if key

~~ 您好,已阅读到文档的结尾了 ~~