| 题号 | 题型 | 答案 | 考点 | 解题思路 |
|---|---|---|---|---|
| 第 1 题 | 选择题 | A | 计算机语言分类 | 直接回忆面向对象三大特性(封装、继承、多态),看哪个选项没沾边,printf 这种 C 风格函数就是典型不沾边的,选 A。 |
| 第 2 题 | 选择题 | C | 栈(stack) | 入栈顺序是6,5,4,3,2,1,出栈序列里数字越大越先出来。看到3先出,说明6,5,4,3都进栈了;紧接着4出,说明4是栈顶;再想6出,得先让4和5出完——可选项C里6直接跟在4… |
| 第 3 题 | 选择题 | D | 指针与引用 | 这题考指针赋值。拿到题先分清p和q各自存的是地址还是数值,再看p=q这行到底改的是谁存的地址。别被变量名字带数字迷惑,指针只存地址,不存值。 |
| 第 4 题 | 选择题 | C | 线性表、一维数组、链表 | 这题考线性表里数组和链表的核心区别。拿到题别急着背定义,先想‘大小能不能变’这个最直观的点,再逐个排除干扰项。 |
| 第 5 题 | 选择题 | B | 栈(stack)、队列(queue)、模拟 | 拿到题别急着列步骤,先抓住核心逻辑:进栈顺序死板(e1到e6),但出栈时机灵活。你的任务就是模拟这个‘进 出 进 出’的过程,盯着栈里同时存在的元素数量,那个峰值就是答案。关键是理… |
| 第 6 题 | 选择题 | B | 栈(stack)、运算符与表达式 | 这道题考的是前缀表达式(波兰式)的转换,核心就是记住‘从右向左看,优先级高的先出’,遇到括号就按相反顺序处理。拿到题先别急着写,脑子里把原式拆开:先算括号里的减法,再乘,最后加。把… |
| 第 7 题 | 选择题 | B | 哈夫曼树、贪心算法 | 这题考哈夫曼编码,核心就是贪心合并最小频次。拿到题先别急着算,把频率从小到大排好序,模拟每次合并两个最小的,画出树形结构,d 在哪一层答案就出来了。 |
| 第 8 题 | 选择题 | C | 二叉树基础 | 这道题考的是完全二叉树数组存储的规律。拿到下标9,先判断它是父节点4的左孩子还是右孩子,一旦定死身份,兄弟和子节点的位置公式瞬间就能套出来。 |
| 第 9 题 | 选择题 | B | 图的基本概念、图的存储 | 拿到题先想:有向图怎么才算‘连通’?把边看成无向边时能跑通整个图,那最省边的做法是什么?画个环就懂了,N个点围一圈正好N条边,对应邻接矩阵里N个非零元素。 |
| 第 10 题 | 选择题 | D | 栈(stack)、队列(queue) | 这题考栈和队列的本质区别。拿到题先别急着背定义,想想数据结构的核心操作:栈是后进先出,队列是先进先出。命题人最爱挖的坑就是‘绝对化’表述,比如‘无法实现’或‘完全相同’。看到D选项… |
| 第 11 题 | 选择题 | D | 链表 | 这题考双向循环链表插入,核心是改四个指针。拿到题先想:s 的 next 和 prev 得先接上原链表,再去动 p 的 next 和原后继的 prev,否则改 p next 会丢引用… |
| 第 12 题 | 选择题 | B | 排序基础 | 这道题考排序稳定性。拿到题先别急着背结论,想清楚‘什么是稳定’——相等元素相对顺序不变。然后逐个看算法:冒泡只换相邻且不等,插入是后插,归并相等取左,唯独选择排序动不动就跨区间交换… |
| 第 13 题 | 选择题 | C | 进制与编码 | 这题考进制转换。拿到题先别急着按计算器,要在脑子里把八进制的每一位对应到十进制的权值:整数部分从右往左是8^1、8^0,小数部分从紧挨着小数点往右是8^ 1。把数字拆开,一项项乘权… |
| 第 14 题 | 选择题 | B | 字符串(string) | 这题考字符串子串计数。拿到题先别急着列,看长度n=5,总子串数n(n+1)/2=15,再想哪些会重复。本题重复的是长度1和2的'a'和'ab',减去重复数即可,比枚举去重更稳。 |
| 第 15 题 | 选择题 | B | 递归函数、函数定义与调用 | 这题考递归定义。拿到题先别想复杂算法,直接抠字眼:递归的核心动作是什么?‘调用自身’四个字就是题眼。 |
| 第 16 题 | 阅读程序 | AB | 位运算 | 看到 x=(x x<<2)&0x33 等式 → 先想 Bit Merge 位交错 |
| 第 17 题 | 阅读程序 | BAC | 简单动态规划、动态规划 | 这题是经典的“鸡蛋掉落”问题,核心在于理解 f(n,m) 和 g(n,m) 都是求最坏情况下的最少尝试次数。拿到题先别急着套公式,要抓住转移方程背后的物理意义:在第 i 层扔,碎了… |
| 第 18 题 | 阅读程序 | ABC | 二分查找、数论基础、二分答案 | 这题是二分找整数根 + 牛顿迭代求浮点根的混合玩法,拿到题先看 solve1 的循环条件 mid mid<=n,确认它返回的是 floor(sqrt(n)),再代入 solve2 … |
| 第 19 题 | 完善程序 | ABCD | 枚举法、整数与整除 | 这题核心就是枚举因数,只需循环到 sqrt(n)。小于 sqrt(n) 的因子存起来,大于 sqrt(n) 的因子用 n/因子对称得到,中间若遇到完全平方数单独处理一次,最后按从小… |
| 第 20 题 | 完善程序 | ABCD | BFS(广度优先搜索)、模拟、二维数组与多维数组 | 洪水填充是BFS的经典应用,核心在于理解“连通且同色”的定义。拿到题先别急着填空,盯着is_valid函数里的条件:边界、颜色是否等于起始色、是否已是新色。这三点缺一不可,尤其是防… |
建议按「限时做 → 对答案 → 读常见错误」三步走。先按考试的真实节奏做完,再回来看每一题的解析;尤其是"常见错误"那一段——它对应的是命题人反复设置的陷阱,读完能直接迁移到同类题上。
想做限时模考,可在 OI伴学 平台切换考试模式;错题会自动归集,并按考点推荐同类练习。