#AG202. 【课堂练习】2.2选择排序进阶

【课堂练习】2.2选择排序进阶

1.学生成绩存储。某在线考试系统需实时记录考生提交的答案,答案按提交顺序存储,但可能频繁插入迟到的考生答案。此时应选择:{{ select(1) }}

  • 数组
  • 链表
  • 哈希表

2.图书馆管理系统。图书馆需通过ISBN号快速检索书籍信息,所有ISBN已按升序录入。最佳存储结构是: {{ select(2) }}

  • 有序数组
  • 无序链表
  • 队列
  • 二叉树

3.数组与链表的区别,数组的优势是: {{ select(3) }}

  • 插入元素更快
  • 删除元素更快
  • 随机访问更快
  • 内存占用更小

4.链表节点定义,Python中链表节点的next属性表示: {{ select(4) }}

  • 上一个节点的地址
  • 当前节点的数据
  • 下一个节点的地址
  • 链表的长度

5.排序结果观察,对数组[7, 3, 9, 2]进行选择排序(升序),第一轮结束后数组变为: {{ select(5) }}

  • [2, 3, 9, 7]
  • [3, 7, 9, 2]
  • [2, 7, 9, 3]
  • [7, 3, 9, 2]

6.自动驾驶路径规划。车辆传感器需对周围障碍物距离进行排序,若使用选择排序,其核心缺陷是:{{ select(6) }}

  • 内存占用高
  • 时间复杂度为O(n²)
  • 不支持浮点数
  • 需要递归实现

7.基因组数据分析。对DNA序列片段[ATG, CGA, TAC, GCT]按字典序升序排列,选择排序第二轮后的结果为: {{ select(7) }}

  • [ATG, CGA, GCT, TAC]
  • [ATG, CGA, TAC, GCT]
  • [ATG, GCT, CGA, TAC]
  • [CGA, ATG, TAC, GCT]

8.链表访问元素。要获取链表中第5个元素的数据,必须:{{ select(8) }}

  • 直接通过索引访问
  • 从第一个节点开始逐个遍历
  • 从最后一个节点倒着访问
  • 无法访问

9.数组的元素在内存中是{{ input(9) }}存储的。


10.无人机编队通信。100架无人机的位置信息存储为链表,若需快速访问第50架无人机的位置,需遍历{{ input(10) }}次节点。


11.气象站每10分钟存储一次温度值,若使用链表存储,新增数据的时间复杂度为{{ input(11) }}。(假设有尾指针)


12.机器人路径回溯。机器人运动路径记录为数组[(0,0), (2,3), (4,1)],若需删除最后一个错误坐标,应调用{{ input(12) }}方法。