| 题号 | 题型 | 答案 | 考点 | 解题思路 |
|---|---|---|---|---|
| 第 1 题 | 选择题 | A | 链表 | 链表分为单向/双向/循环链表,插入删除O(1),但查找O(n)。注意指针操作的顺序,防止断链。 |
| 第 2 题 | 选择题 | A | 链表 | 函数指针:bool ( Fx)(int) 声明一个指向"接收int返回bool"的函数的指针,可作为参数传递给其他函数(回调机制)。 |
| 第 3 题 | 选择题 | B | 链表 | 根据上下文和C++语法规则确定空缺处应填的内容,关注函数调用参数、表达式和返回值类型。 |
| 第 4 题 | 选择题 | B | 函数与递归 | 辗转相除法求最大公约数:gcd(a,b) = gcd(b, a%b),当b=0时返回a。时间复杂度O(log min(a,b))。 |
| 第 5 题 | 选择题 | D | 唯一分解定理 | 判断正误题需注意绝对化表述("一定""必须""只能"等)往往是错误的。 |
| 第 6 题 | 选择题 | C | — | 埃氏筛法:从2开始标记倍数为合数,O(n log log n)。线性筛(欧拉筛):每个合数只被最小质因子标记一次,O(n)。线性筛效率更高。 |
| 第 7 题 | 选择题 | A | — | 递归问题关注两点:① 递归边界(终止条件);② 递归关系(递推公式)。分析时展开前几步即可看出规律。 |
| 第 8 题 | 选择题 | D | 时间复杂度分析、函数 | 分析时间复杂度时关注循环层数和每层迭代次数,递归算法则分析递归树。注意最坏/最好/平均情况的区别。 |
| 第 9 题 | 选择题 | A | 算法、归并排序、数据结构 | 分治三步:分解(Divide)→ 解决(Conquer)→ 合并(Combine)。归并排序的关键在于合并两个有序子数组。 |
| 第 10 题 | 选择题 | B | 快速排序 | STL 容器:vector(动态数组)、set/map(红黑树,有序)、unordered_set/map(哈希表,无序)。注意迭代器失效问题。 |
| 第 11 题 | 选择题 | C | 二分查找 | 仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。 |
| 第 12 题 | 选择题 | A | 二分查找 | 根据上下文和C++语法规则确定空缺处应填的内容,关注函数调用参数、表达式和返回值类型。 |
| 第 13 题 | 选择题 | A | 贪心算法、动态规划、算法 | 贪心算法每一步做出当前最优选择,且不回溯。难点在于证明贪心策略的正确性(常用交换论证法)。 |
| 第 14 题 | 选择题 | D | — | 仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。 |
| 第 15 题 | 选择题 | B | — | STL 容器:vector(动态数组)、set/map(红黑树,有序)、unordered_set/map(哈希表,无序)。注意迭代器失效问题。 |
| 第 16 题 | 判断题 | A | 链表 | 链表分为单向/双向/循环链表,插入删除O(1),但查找O(n)。注意指针操作的顺序,防止断链。 |
| 第 17 题 | 判断题 | B | 链表、动态内存分配 | 函数指针:bool ( Fx)(int) 声明一个指向"接收int返回bool"的函数的指针,可作为参数传递给其他函数(回调机制)。 |
| 第 18 题 | 判断题 | A | 时间复杂度分析 | 埃氏筛法:从2开始标记倍数为合数,O(n log log n)。线性筛(欧拉筛):每个合数只被最小质因子标记一次,O(n)。线性筛效率更高。 |
| 第 19 题 | 判断题 | B | 贪心算法、算法 | 贪心算法每一步做出当前最优选择,且不回溯。难点在于证明贪心策略的正确性(常用交换论证法)。 |
| 第 20 题 | 判断题 | A | 函数与递归 | 递归问题关注两点:① 递归边界(终止条件);② 递归关系(递推公式)。分析时展开前几步即可看出规律。 |
| 第 21 题 | 判断题 | B | 算法、时间复杂度分析 | 分析时间复杂度时关注循环层数和每层迭代次数,递归算法则分析递归树。注意最坏/最好/平均情况的区别。 |
| 第 22 题 | 判断题 | A | 算法 | 分析时间复杂度时关注循环层数和每层迭代次数,递归算法则分析递归树。注意最坏/最好/平均情况的区别。 |
| 第 23 题 | 判断题 | B | 二分查找、算法 | 仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。 |
| 第 24 题 | 判断题 | B | 贪心算法、算法 | 分治三步:分解(Divide)→ 解决(Conquer)→ 合并(Combine)。归并排序的关键在于合并两个有序子数组。 |
| 第 25 题 | 判断题 | A | 算法 | 仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。 |
建议按「限时做 → 对答案 → 读常见错误」三步走。先按考试的真实节奏做完,再回来看每一题的解析;尤其是"常见错误"那一段——它对应的是命题人反复设置的陷阱,读完能直接迁移到同类题上。
想做限时模考,可在 OI伴学 平台切换考试模式;错题会自动归集,并按考点推荐同类练习。