| 题号 | 题型 | 答案 | 考点 | 解题思路 |
|---|---|---|---|---|
| 第 1 题 | 选择题 | D | 函数 | 拿到题先想C++的编译型语言特性,函数定义必须在全局或类内,不支持嵌套定义,D选项直接踩雷。 |
| 第 2 题 | 选择题 | C | — | 这道题考的是C++类嵌套与成员访问规则,核心就是区分‘嵌套’和‘公开’,拿到题先想:Point是Rectangle的私有成员,不是全局变量,所以访问必须用Rectangle::Po… |
| 第 3 题 | 选择题 | C | — | 静态成员变量属于类,不属于对象,所有对象共享同一份数据。所以既可以通过类名访问,也可以通过任意对象访问,两行代码都合法。 |
| 第 4 题 | 选择题 | D | 函数 | 这题考的是C++类与结构体语法,特别是构造函数、析构函数及内存管理。拿到题先别急着看选项,先把代码跑一遍脑内:构造函数里调Creat()分配头结点,析构函数里调Release()回… |
| 第 5 题 | 选择题 | B | — | 拿到题别急着背术语,直接盯住 cout 的位置——根节点先输出,后面跟着左子树、右子树,这就是前序遍历的典型特征,代码里根在递归调用前,答案自然选 B。 |
| 第 6 题 | 选择题 | B | 链表 | 看到结构体里同时定义了 next 和 prev 两个指针,先别急着选,想想双向链表的核心特征就是能往两头走,再看初始化是不是把两头都封死了,这就定调了。 |
| 第 7 题 | 选择题 | B | — | 这道题考哈夫曼编码的总码长计算。拿到题先数清字符串里每个字符(含空格)出现几次,再按频率建哈夫曼树,最后把每个字符的频数乘以其对应编码长度求和,别把树深当总位长。 |
| 第 8 题 | 选择题 | D | 函数与递归、动态规划、算法 | 这题表面考函数写法,实则考复杂度意识。拿到题先看调用树:fiboA 每次都要把问题拆成两个子问题,中间层会重复算无数次;fiboB 用数组把算过的值存起来,下次直接取。记住:代码行… |
| 第 9 题 | 选择题 | B | 算法 | 这道题考查二叉树递归求深度,核心是理解递归边界和递推关系。拿到代码先找终止条件(空树返回0),再看递推式(左右子树深度取大加1),最后用具体树形代入验证,就能发现选项B的错误。 |
| 第 10 题 | 选择题 | D | 数据结构 | 这题考树的存储。思路很简单:先想‘列表存树靠什么?’——靠层级索引。完全二叉树、满二叉树层级固定,能直接映射;一般二叉树空位填None也能映射;但‘所有树’包含多叉树、非二叉树,列… |
| 第 11 题 | 选择题 | A | 树形结构 | 根据二叉树的遍历特性,先/前序遍历确定根节点,中序遍历确定左右子树范围,从而重构整棵树,再输出后序遍历结果。 |
| 第 12 题 | 选择题 | A | 函数 | 逻辑代数运算:与(∧/×)、或(∨/+)、非(┐/¬)。德摩根律:┐(A∧B)=┐A∨┐B,┐(A∨B)=┐A∧┐B。 |
| 第 13 题 | 选择题 | B | — | 这题考的是通讯卫星在通信网络中的核心作用。别被‘通信’二字带偏去想安全或过滤,卫星本质上只是个悬在空中的‘大喇叭’,它不处理数据内容,只负责把地面发来的信号原封不动地转发到另一侧,… |
| 第 14 题 | 选择题 | C | 枚举法、搜索 | 这题本质是考算法场景匹配。判断单个素数用枚举试除最自然,筛法能批量标记后 O(1) 查询也合适,唯独二分答案需要单调性,而素数分布毫无单调可言,直接排除 C。 |
| 第 15 题 | 选择题 | B | 算法、快速排序 | 这道题考排序算法分类。拿到题先别死记名字,直接看冒泡排序的核心动作——相邻交换。把四个选项都过一遍,看哪个也是靠“交换”来推进的,那个就是答案。 |
| 第 16 题 | 判断题 | A | 函数 | 这题考面向对象里方法对应什么,拿到题先想方法在 C++ 语义上就是类内定义的函数,直接选 A。 |
| 第 17 题 | 判断题 | A | 函数 | 题干问“可以没有构造函数,编译器会补一个默认构造函数”,直接抓住“默认构造函数”的存在性即可。 |
| 第 18 题 | 判断题 | A | 函数 | 这道题考 C++ 运算符重载的语法形式,核心是记住下标运算符重载只能作为成员函数,不能写成友元或全局函数。 |
| 第 19 题 | 判断题 | A | 算法、搜索 | 这题考的就是 DFS 最核心的定义:一条路走到黑,绝不回头,且每个点只踩一次。看到‘深入到不能再深入’和‘每个节点只能访问一次’,直接对号入座就是 DFS,不用想太复杂。 |
| 第 20 题 | 判断题 | B | 贪心算法 | 这题是概念陷阱题。拿到题先别急着背'哈夫曼编码唯一',要立刻反应过来:算法步骤确实唯一,但压缩率是个比值,分子分母都得看具体数据。命题人就是卡在这个'唯一'和'确定'的偷换概念上。 |
| 第 21 题 | 判断题 | B | 作用域与生命周期 | 这题考的是 delete 只释放内存不置空指针,导致悬空指针解引用属于未定义行为,不能断定必然报错。 |
| 第 22 题 | 判断题 | A | 搜索 | 这道题考二叉搜索树(BST)的平均查找时间复杂度。拿到题先抓‘平均’二字:命题人想让你区分期望与最坏情况。随机插入时树高期望为O(log N),所以平均复杂度就是O(log N)。 |
| 第 23 题 | 判断题 | A | 搜索 | 根据二叉树的遍历特性,先/前序遍历确定根节点,中序遍历确定左右子树范围,从而重构整棵树,再输出后序遍历结果。 |
| 第 24 题 | 判断题 | A | 算法 | 因数成对出现,循环到N/2已覆盖除N外的所有因数,N本身单独处理即可,故不超过N/2次循环完全足够。 |
| 第 25 题 | 判断题 | A | 链表 | 这题其实是在考你对‘排序复杂度’和‘链表遍历’关系的直觉。拿到题先想:冒泡排序到底在做什么?是两两比较并交换相邻元素,跟容器是数组还是链表没关系。再看链表:单链表从头走到尾要 n … |
建议按「限时做 → 对答案 → 读常见错误」三步走。先按考试的真实节奏做完,再回来看每一题的解析;尤其是"常见错误"那一段——它对应的是命题人反复设置的陷阱,读完能直接迁移到同类题上。
想做限时模考,可在 OI伴学 平台切换考试模式;错题会自动归集,并按考点推荐同类练习。