| 题号 | 题型 | 答案 | 考点 | 解题思路 |
|---|---|---|---|---|
| 第 1 题 | 选择题 | B | — | 模拟程序执行过程,逐行跟踪变量变化,特别关注循环边界和递归终止条件。 |
| 第 2 题 | 选择题 | A | 函数 | 判断正误题需注意绝对化表述("一定""必须""只能"等)往往是错误的。 |
| 第 3 题 | 选择题 | C | — | 函数指针:bool ( Fx)(int) 声明一个指向"接收int返回bool"的函数的指针,可作为参数传递给其他函数(回调机制)。 |
| 第 4 题 | 选择题 | D | 贪心算法 | 哈夫曼编码:每次合并权值最小的两个节点,构建最优二叉树,使带权路径长度(WPL)最小。用于数据压缩。 |
| 第 5 题 | 选择题 | C | 动态规划 | 仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。 |
| 第 6 题 | 选择题 | C | 动态规划、递推 | 仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。 |
| 第 7 题 | 选择题 | D | 动态规划 | 根据上下文和C++语法规则确定空缺处应填的内容,关注函数调用参数、表达式和返回值类型。 |
| 第 8 题 | 选择题 | A | 搜索 | 逻辑代数运算:与(∧/×)、或(∨/+)、非(┐/¬)。德摩根律:┐(A∧B)=┐A∨┐B,┐(A∨B)=┐A∧┐B。 |
| 第 9 题 | 选择题 | A | 快速排序 | 快速排序的核心是划分(partition):选定基准,将数组分为小于和大于基准的两部分,再递归处理。注意最坏情况发生在数组已有序时。 |
| 第 10 题 | 选择题 | C | — | BFS 使用队列,按层次逐层遍历,适合求最短路径(边权为1时)。核心:标记已访问,避免重复入队。 |
| 第 11 题 | 选择题 | D | 哈希表 | 仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。 |
| 第 12 题 | 选择题 | B | — | 函数指针:bool ( Fx)(int) 声明一个指向"接收int返回bool"的函数的指针,可作为参数传递给其他函数(回调机制)。 |
| 第 13 题 | 选择题 | B | 时间复杂度分析、二分查找 | 分析时间复杂度时关注循环层数和每层迭代次数,递归算法则分析递归树。注意最坏/最好/平均情况的区别。 |
| 第 14 题 | 选择题 | B | 二分查找 | 仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。 |
| 第 15 题 | 选择题 | D | 动态规划 | 仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。 |
| 第 16 题 | 判断题 | B | 函数 | 判断正误题需注意绝对化表述("一定""必须""只能"等)往往是错误的。 |
| 第 17 题 | 判断题 | B | 函数 | 判断正误题需注意绝对化表述("一定""必须""只能"等)往往是错误的。 |
| 第 18 题 | 判断题 | B | 动态规划 | 仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。 |
| 第 19 题 | 判断题 | A | 哈希表 | 判断正误题需注意绝对化表述("一定""必须""只能"等)往往是错误的。 |
| 第 20 题 | 判断题 | B | 搜索 | 仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。 |
| 第 21 题 | 判断题 | A | — | DFS 使用栈(或递归),沿一条路径走到底再回溯,适合遍历所有可能状态。注意回溯时的状态恢复。 |
| 第 22 题 | 判断题 | A | 哈夫曼树 | 哈夫曼编码:每次合并权值最小的两个节点,构建最优二叉树,使带权路径长度(WPL)最小。用于数据压缩。 |
| 第 23 题 | 判断题 | B | 算法 | 比较不同排序算法的核心区别:冒泡(相邻交换)、选择(选最值)、插入(插入有序序列)、归并(分治合并)、快排(划分递归)。 |
| 第 24 题 | 判断题 | A | 最短路径、算法 | BFS 使用队列,按层次逐层遍历,适合求最短路径(边权为1时)。核心:标记已访问,避免重复入队。 |
| 第 25 题 | 判断题 | A | 动态规划 | 仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。 |
建议按「限时做 → 对答案 → 读常见错误」三步走。先按考试的真实节奏做完,再回来看每一题的解析;尤其是"常见错误"那一段——它对应的是命题人反复设置的陷阱,读完能直接迁移到同类题上。
想做限时模考,可在 OI伴学 平台切换考试模式;错题会自动归集,并按考点推荐同类练习。