B. 月考选择题

    客观题

月考选择题

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

单项选择题

1. 递归的基本特点是( )

{{ select(1) }}

  • 函数调用其他函数
  • 函数调用自身
  • 必须用循环实现
  • 不需要结束条件

2. 递推的过程更接近( )

{{ select(2) }}

  • 从已知推未知
  • 从未知推已知
  • 层层递进
  • 不需要初始条件

3.选择排序每一轮的主要操作是( )

{{ select(3) }}

  • 相邻个元素和前一个比较交换
  • 找到最大 / 小元素并交换位置
  • 把元素插入合适位置
  • 把元素插入任意位置

4. 对 [2,4,1,3] 做选择排序(升序),第一轮后结果是( )

{{ select(4) }}

  • [1,4,2,3]
  • [2,1,4,3]
  • [2,4,3,1]
  • [1,2,4,3]

5. 冒泡排序的核心是( )

{{ select(5) }}

  • 找最小元素交换
  • 相邻元素比较后交换
  • 直接拆分列表
  • 一次性排好所有元素

6.选择排序的核心思想是( )

{{ select(6) }}

  • 相邻元素比较交换,逐步将最大元素 “冒” 到末尾
  • 每轮找到最小(大)元素,与当前位置交换
  • 将元素插入已排序序列的合适位置
  • 分治后合并子序列

7. 冒泡排序中,若列表已有序,优化后的算法(添加标志位)会执行( )轮外层循环

{{ select(7) }}

  • 0
  • 1
  • n(列表长度)
  • n-1

8.斐波那契数列(F (n)=F (n-1)+F (n-2))的递推实现中,计算 F (5) 需已知的初始条件是( )

{{ select(8) }}

  • F (1) 和 F (2)
  • F (3) 和 F (4)
  • F (0) 和 F (1)
  • 仅 F (1)

9. 对列表 [4,3,2,1] 分别用选择排序(升序)和冒泡排序(升序),两种算法在排序过程中 “元素交换次数” 的关系是( )

{{ select(9) }}

  • 选择排序交换次数更多
  • 冒泡排序交换次数更多
  • 两者交换次数相同
  • 无法确定

10. 以下算法中,通过 “将问题分解为更小的同类问题” 解决的是( )

{{ select(10) }}

  • 递推实现的斐波那契数列
  • 冒泡排序
  • 递归实现的阶乘计算
  • 选择排序

程序填空(一)

lis = [3,5,1,4,2]
n = len(lis)
for i in range(____①____):  # 外层循环控制轮次
    min_index = ____②____    # 记录本轮最小元素的索引
    for j in range(____③____):  # 内层循环寻找最小元素
        if lis[j] < lis[min_index]:
            min_index = j
    # 交换当前位置与最小元素位置的值
    lis[i], lis[min_index] = ____④____, ____⑤____
print(lis)  # 最终输出[1,2,3,4,5]

11. ①处应填入:

{{ select(11) }}

  • n
  • n-1
  • 2
  • n+1

12. ②处应填入:

{{ select(12) }}

  • 0
  • j
  • i
  • n-1

13.③处应填入:

{{ select(13) }}

  • i, n
  • i+1, n-1
  • 0, i
  • n-1, i

14. ④处应填入:

{{ select(14) }}

  • lis[i]
  • lis[min_index]
  • min_index
  • i

15. ⑤处应填入:

{{ select(15) }}

  • lis[i]
  • lis[min_index]
  • min_index
  • i

程序填空(二)

def factorial(n):
    if ____①____:  # 终止条件
        return ____②____
    else:
        return ____③____ * ____④____  # 递归调用
# 测试:计算5的阶乘
print(factorial(____⑤____))

16. ①处应填入:

{{ select(16) }}

  • n == 0 or n == 1
  • n > 1
  • n < 0
  • n == 5

17. ②处应填入:

{{ select(17) }}

  • 0
  • 1
  • n
  • n-1

18.③处应填入:

{{ select(18) }}

  • factorial(n)
  • factorial(n+1)
  • factorial(n-1)
  • n+1

19. ④处应填入:

{{ select(19) }}

  • n
  • n-1
  • 1
  • 0

20. ⑤处应填入:

{{ select(20) }}

  • 0
  • 1
  • 5
  • 10

python AI2 9月月考

未参加
状态
已结束
规则
IOI
题目
4
开始于
2025-9-25 9:00
结束于
2025-10-8 17:00
持续时间
1.5 小时
主办人
参赛人数
39