GESP2025年3月认证C++五级( 第一部分选择题(9-15))


🏆 第9题:不稳定排序是谁?

✅ 答案:A(选择排序)


1、🧠 故事理解

小勇士来到"排序学院",每个排序都在排队。

👦 有两个同学:

  • 小红(成绩 90)

  • 小蓝(成绩 90)

👉 稳定排序:排完之后,顺序不变

👉 不稳定排序:可能交换,顺序乱掉


2、🧩 核心思维

👉 判断稳定性只问一句:

"排序过程中,会不会跨位置交换?"


3、🔥 快速判断口诀

排序 是否稳定
冒泡 ✅
插入 ✅
归并 ✅
选择 ❌(会乱换)

👉 选择排序每次"直接换最小值",容易把相同元素顺序打乱



🏆 第10题:快速排序分区

✅ 答案:B


1、🧠 故事理解

快速排序像"分队游戏":

👉 选一个队长(pivot)

👉 比他小的站左边

👉 比他大的站右边


2、🧩 思维模型

循环过程中要维护:

复制代码
[小的区域] [未处理] [大的区域]

3、🧠 正确操作

复制代码
if (arr[j] < pivot) {
    i++;
    swap(arr[i], arr[j]);
}

👉 先扩大"小区间",再交换


4、🚨 常见错误

❌ 顺序写反

❌ 比较符号错(> 或 ==)


5、🎯 记忆口诀

👉 "小的往前放"



🏆 第11题:二分查找次数

✅ 答案:C(7次)

1、🧠 故事理解

小勇士在猜一个1~100的数字,每次都对半砍:

复制代码
100 → 50 → 25 → 13 → 7 → 4 → 2 → 1

最多7次!


2、🧩 思维模型

👉 二分查找次数 ≈

复制代码
log₂(n)

3、🎯 快速估算技巧

n 次数
100 ≈7
1000 ≈10

👉 记住:2⁷=128



🏆 第12题:二分查找mid写法

✅ 答案:A


1、🧠 故事理解

小勇士算中点:

复制代码
mid = (left + right) / 2

看起来没问题......

💥 但如果数很大,会溢出!


2、🧩 正确思维

👉 安全写法:

复制代码
mid = left + (right - left) / 2

3、🎯 核心点

不是为了好看,而是:

防止 left + right 爆掉


4、🚨 考试策略

看到 mid:

👉 优先选"防溢出写法"



🏆 第13题:贪心算法本质

✅ 答案:A


1、🧠 故事理解

小勇士买东西:

👉 每次都选"当前最好的"

这就是贪心!


2、🧩 思维模型

👉 贪心 =

复制代码
每一步都选当前最优

3、🚨 关键区别

算法 特点
贪心 局部最优
动态规划 全局最优

4、❗ 易错点

❌ "一定得到最优解" → 错

👉 有些问题贪心会错



🏆 第14题:分治求最大值

✅ 答案:D


1、🧠 故事理解

小勇士找最大值:

👉 把数组一分为二

👉 左边找最大

👉 右边找最大

👉 比一下


2、🧩 分治三步(必须掌握🔥)

复制代码
1. 分(拆)
2. 治(递归)
3. 合(合并结果)

3、🧠 正确逻辑

复制代码
return max(leftMax, rightMax);

4、🚨 常见错误

❌ return left + right

❌ return left * right

👉 这不是"求最大",而是乱算



🏆 第15题:高精度乘法进位

✅ 答案:B


1、🧠 故事理解

小勇士在做"大数乘法":

每一位要处理:

👉 原来的值 + 进位


2、🧩 思维模型(关键🔥)

复制代码
temp = 当前值 + 进位

3、🧠 正确代码

复制代码
int temp = c[k] + carry;
c[k] = temp % 10;
carry = temp / 10;

4、🚨 易错点

错误 原因
只用 ck 忘记进位
减 carry 没意义
乘 carry 完全错误

🎯知识点总结:


🧠 ① 排序理解

👉 稳定 vs 不稳定(交换方式)


🧠 ② 快速排序思想

👉 分区 + 不变量


🧠 ③ 二分查找

👉 log级别 + 防溢出写法


🧠 ④ 算法思想

👉 贪心 vs 分治


🧠 ⑤ 高精度计算

👉 每一位 = 当前值 + 进位


相关推荐
FlightYe12 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
ZhengEnCi13 小时前
GPT-6 Astra 爆改 Qwen 权重真有那么神吗:权重空间编程 0.016% 参数的真相
算法·架构
罗西的思考13 小时前
【轻量化复刻大模型 / KIMI K3】KDA(Kimi Delta Attention):并行
人工智能·算法·机器学习
by2099913 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
Rover Ramble14 小时前
C++ 用互斥锁实现读写锁
开发语言·c++
你怎么知道我是队长14 小时前
C++零基础入门第2周:数据类型、运算符与表达式完全指南(附20段可运行代码+避坑清单)
c++
say_fall14 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
雪落漂泊15 小时前
C++算法 滑动窗口篇(下)
开发语言·c++
夜不会漫长15 小时前
C++:红黑树
数据结构·算法
AI备案指南-满满16 小时前
算法备案审核不通过,一般是什么原因?
java·人工智能·算法·大模型备案·算法备案·大模型登记