GESP202609 C++ 六级 真题解析

GESP 六级 · 25 道题逐题解析速查表:答案、考点、一句话思路,点击任意题号看完整解析。

GESP 六级 全部真题

逐题速查表

题号题型答案考点解题思路
第 1 题 选择题 B 函数 看到虚函数调用先确认动态绑定机制,看到delete先确认析构顺序。核心是理解虚析构函数对对象销毁的影响。
第 2 题 选择题 A 函数 继承体系中,派生类构造函数必须显式调用基类构造函数。C++ 语法规定:基类构造调用用"基类名(参数)",而非成员名或 super 关键字。本题 Robot 继承 Machine,M…
第 3 题 选择题 C 函数 构造函数按基类到派生类顺序执行,析构函数按派生类到基类顺序执行。看到题先想:new 时基类构造器先跑,delete 时派生类析构器先跑。
第 4 题 选择题 B — 循环 i=2,4,6 依次入栈入队,栈顶为 6、队头为 2;随后各弹出一个元素,栈顶变为 4、队头变为 4,输出 4 4。
第 5 题 选择题 C — 看到循环队列先想空满判别的经典技巧。队列空时 front==rear,但这样无法区分空和满,所以必须空出一个位置。队列满时 rear 恰好比 front 多走一格,用取模运算把环形…
第 6 题 选择题 B — 看到递归函数先找调用顺序。本题是左子树递归→访问根节点→右子树递归,典型的中序遍历特征。若改成根节点先访问就是前序,根节点最后访问就是后序。
第 7 题 选择题 A — 先序定根、中序分左右,递归还原树结构后按后序规则输出。
第 8 题 选择题 D 函数与递归 二叉树高度定义是根到最远叶子的路径节点数。递归时若根为空返回0,否则高度=左右子树高度最大值+1(当前节点本身)。这类题通法是:先写终止条件,再写子问题分解,最后用max取最长路径…
第 9 题 选择题 C — 栈是后进先出结构,要访问左子树先,必须让右子树先入栈。代码里先压右再压左,循环里就会先弹出左子树。但节点可能没有左右孩子,直接 s.push(nullptr) 会导致后续访问 no…
第 10 题 选择题 B 搜索 BST 查找的核心是"左小右大"性质。看到题先想:当前节点值与目标值比较,小于则去左子树,大于则去右子树。题目已处理 x < root val 的情况,横线处必须处理 x root…
第 11 题 选择题 B 贪心算法、哈夫曼树 哈夫曼树构造遵循贪心策略:每次从当前节点集合中取出权值最小的两个合并为新节点,新节点权值为两者之和,再放回集合。WPL 等于所有内部节点权值之和,也等于各叶子权值×深度之和。本题只…
第 12 题 选择题 C 格雷码 格雷码的反射法生成规则是:先保留原序列,再在末尾追加"1"+原序列的反转。代码中正向循环已处理"0"+原序列,反向循环必须补"1"+原序列的反转。由于反向循环 i 从 oldSiz…
第 13 题 选择题 B 动态规划、递推 看到"走1级或2级"立刻想到斐波那契递推。核心观察:第i级只能从i 1或i 2跳过来,所以dp[i] = dp[i 1] + dp[i 2]。边界是dp[1]=1, dp[2]=2…
第 14 题 选择题 C 动态规划、递推 看到这题先想"最优子结构"和"重叠子问题"——这是动态规划的标志性特征。题目要求选互不相邻元素,意味着选第 i 个时,第 i 1 个必须放弃,因此状态转移只能来自 dp[i 1](…
第 15 题 选择题 A 动态规划 看到 0/1 背包的一维 DP 写法,第一反应是"为什么内层循环要从大到小"。因为一维数组复用,如果从小到大枚举容量,当前物品会被重复使用(相当于完全背包)。从大到小枚举,确保每次…
第 16 题 判断题 B 函数 看到类定义里有自定义构造函数,立刻想到编译器不会再生成默认构造函数。再看 Student s; 无参调用,必然编译失败。
第 17 题 判断题 B — 看到题先定位访问修饰符——value 是 private,再看继承关系——Child 公有继承 Base。核心判断依据是 C++ 访问规则:private 成员仅在当前类内可见,派…
第 18 题 判断题 A 队列(queue) 看到队列题先想 FIFO 规则:push 是入队尾,pop 是出队头,front 是看队头。这题三步 push 后队列为 [10, 20, 30],pop 一次删掉队头 10,剩下…
第 19 题 判断题 A 完全二叉树 看到题先想数组下标与节点位置的对应关系。完全二叉树按层序存入数组时,下标 i 的左孩子必在 2i 处,右孩子在 2i+1 处。命题人把这条性质拆成"存在左孩子"的条件句,就是考你是…
第 20 题 判断题 A 搜索 先想二叉搜索树的定义:左子树所有节点值小于根节点,右子树所有节点值大于根节点。再看中序遍历顺序:左→根→右。把这两个规则叠在一起,就能推出遍历结果必然是从小到大。
第 21 题 判断题 A 双向BFS、最短路径、二叉树的遍历 看到题先想 BFS 的层序遍历特性。队列 FIFO 保证同一层节点先出队,新节点入队时距离已是最小。
第 22 题 判断题 A 贪心算法 哈夫曼编码的核心是构建一棵二叉树,每次合并两个频率最小的节点,频率高的字符自然落在树的浅层,频率低的字符落在树的深层。编码长度等于节点深度,因此高频字符的编码长度一定不超过低频字符…
第 23 题 判断题 B 格雷码 看到题先想格雷码的核心定义——相邻两码仅差一位。但题目说的是"任意两个编码",这就把"相邻"偷换成了"所有对"。用3位格雷码举反例:000与011差两位,直接证伪。这类题通法是抓住…
第 24 题 判断题 A 动态规划 看到双层循环先盯内层方向:0/1背包内层倒序,完全背包内层正序。本题内层从 weight[i] 到 W 递增,说明同种物品可重复选,符合完全背包特征。再验证状态转移方程 dp[w]…
第 25 题 判断题 B 函数与递归、时间复杂度分析、空间复杂度 看到递归题先画调用树。斐波那契的递归树是二叉树,深度为n,但节点数呈指数增长。时间复杂度看总调用次数,空间复杂度看栈帧最大层数。

本套考点分布

函数 · 4 题动态规划 · 4 题函数与递归 · 2 题搜索 · 2 题贪心算法 · 2 题格雷码 · 2 题递推 · 2 题哈夫曼树 · 1 题队列(queue) · 1 题完全二叉树 · 1 题双向BFS · 1 题最短路径 · 1 题二叉树的遍历 · 1 题时间复杂度分析 · 1 题空间复杂度 · 1 题

怎么刷这一套

建议按「限时做 → 对答案 → 读常见错误」三步走。先按考试的真实节奏做完,再回来看每一题的解析;尤其是"常见错误"那一段——它对应的是命题人反复设置的陷阱,读完能直接迁移到同类题上。

想做限时模考,可在 OI伴学 平台切换考试模式;错题会自动归集,并按考点推荐同类练习。

← GESP 六级 全部真题真题解析总览