#10815. 算法1-期末测试

算法1-期末测试

一、选择题(每题 2 分,共 20 分)

(一)单选题(每题 2 分,共 10 分)

1.二分查找算法的核心适用条件不包括以下哪一项?( ) {{ select(1) }}

  • 待查找序列必须有序
  • 待查找序列必须是连续存储结构
  • 待查找序列元素必须是整数类型
  • 待查找序列支持随机访问

2.以下关于贪心算法的描述,正确的是( ) {{ select(2) }}

  • 贪心算法总能得到全局最优解
  • 贪心算法的选择只依赖于当前局部最优
  • 贪心算法的时间复杂度一定是 O(n)
  • 贪心算法不需要任何前提条件即可使用

3.大整数加减法的核心处理要点是( ) {{ select(3) }}

  • 直接使用编程语言的整数类型存储计算
  • 按位拆分后从高位到低位逐位运算
  • 处理进位和借位问题
  • 无需考虑正负号的特殊处理

4.模拟算法的核心思想是( ) {{ select(4) }}

  • 用数学公式直接推导结果
  • 按照问题的实际流程逐步模拟执行
  • 优先选择最优子结构
  • 通过二分策略简化问题

5.以下哪种场景最适合使用贪心算法解决?( ) {{ select(5) }}

  • 最长公共子序列问题
  • 背包问题(物品可分割)
  • 最短路径问题(有负权边)
  • 汉诺塔问题

(二)多选题(每题 2 分,共 10 分)

6.以下属于二分查找典型应用场景的有( ) {{ multiselect(6) }}

  • 有序数组中查找目标值是否存在
  • 查找有序数组中目标值的首次出现位置
  • 无序数组中查找最大值
  • 求解满足条件的最小阈值

7.大整数乘法与加减法相比,额外需要处理的问题有( ) {{ multiselect(7) }}

  • 部分乘积的累加
  • 每一位相乘后的进位传递
  • 结果的前导零去除
  • 数位对齐方式

8.二维数组模拟的常见应用场景包括( ) {{ multiselect(8) }}

  • 矩阵的遍历与变换
  • 棋盘类问题模拟
  • 字符串替换操作
  • 图的邻接矩阵表示

9.贪心算法在解决区间问题时,常用的排序策略有( ) {{ multiselect(9) }}

  • 按区间左端点升序排序
  • 按区间右端点升序排序
  • 按区间长度降序排序
  • 按区间中点位置排序

10.字符串模拟的注意事项包括( ) {{ multiselect(10) }}

  • 索引越界问题
  • 字符编码转换
  • 空字符串处理
  • 字符串拼接的效率问题