GESP2025年12月认证C++五级真题与解析(判断题1-10)


🧩 第 1 题

❓ 判断:

数组和链表都是线性表。链表的优点是插入删除不需要移动元素,并且能随机查找。


📖 故事讲解

想象你在图书馆 📚:

  • 数组 :

    👉 一本书页码清楚,第 100 页"啪"一下就翻到

  • 链表 :

    👉 书页用绳子串起来,只能一页一页翻


🔍 分析

  • ✔ 数组、链表 都是线性表

  • ✔ 链表 插入、删除快

  • ❌ 链表 不能随机访问


✅ 正确判断

❌ 错误

🎯 记忆口诀

链表:好插删,不好跳



🧩 第 2 题

❓ 判断:

若 gcd(a,b) 正确,则
lcm(a,b) = a / gcd(a,b) * b 能正确求最小公倍数。


📖 故事讲解

两个齿轮 ⚙️

  • 最小公倍数 = 它们一起转到对齐的最小步数

🔍 数学公式

cpp 复制代码
a × b = gcd(a,b) × lcm(a,b)

变形得到:

cpp 复制代码
lcm = a / gcd × b

👉 先除后乘,防止溢出!


✅ 正确判断

✅ 正确

🎯 这是必背公式!



🧩 第 3 题

❓ 判断:

单链表中,已知指针 p 指向要删除的结点(非尾结点),

可以通过复制 p->next 再删除 p->next 实现删除。


📖 故事讲解

一排火车 🚆

你不能把当前车厢拆掉,但可以:

👉 让它"变成"下一节

👉 再把真正的下一节删掉


🔍 技巧代码思想

cpp 复制代码
p->data = p->next->data;
p->next = p->next->next;

⚠️ 限制条件

  • p 不能是尾结点

✅ 正确判断

✅ 正确


🎯 这是链表经典技巧



技巧


🧩 第 4 题

❓ 判断:

线性筛一定比埃氏筛好,应该优先使用。


📖 故事讲解

  • 🚲 埃氏筛:

    简单、好骑

  • 🚀 线性筛:

    更快,但更复杂


🔍 分析

  • 线性筛:O(n)

  • 埃氏筛:O(n log log n)

  • 但:

    • 小数据

    • 初学

    • 实现简单

      👉 埃氏筛更合适


✅ 正确判断

❌ 错误

🎯 不是越快越好,而是"合适最好"



🧩 第 5 题

❓ 判断:

二分查找只适用于有序数据。

若只查一次,为了二分而排序通常不划算。


📖 故事讲解

找一本书 📘:

  • 只找一次 👉 一本本翻

  • 要找 100 次 👉 先整理目录


🔍 分析

  • 排序:O(n log n)

  • 一次查找:O(n)

👉 为了一次二分,不值!


✅ 正确判断

✅ 正确

🎯 二分=多次查找才划算



🧩 第 6 题

❓ 判断:

快排使用"三数取中"可降低最坏情况概率。


📖 故事讲解

选队长 👦👧👦

  • 选最矮 ❌

  • 选最高 ❌

  • 选中等 ✔


🔍 三数取中

  • 头

  • 中

  • 尾

    👉 选中间值做 pivot


✅ 正确判断

✅ 正确

🎯 这是快排常见优化



🧩 第 7 题

❓ 判断:

贪心:每步选当前最优

分治:拆分再合并


📖 故事讲解

  • 🍰 贪心:

    每次先吃最大的

  • 🧩 分治:

    切成小块再拼


🔍 描述准确

  • 贪心:不回头

  • 分治:可递归合并


✅ 正确判断

✅ 正确



🧩 第 8 题

❓ 判断:

递归版 fib(n) 的时间复杂度是 O(n)


📖 故事讲解

算 fib(5):

cpp 复制代码
fib(5)
├─ fib(4)
│  ├─ fib(3)
│  │  ├─ fib(2)
│  │  └─ fib(1)
│  └─ fib(2)
└─ fib(3)
   ├─ fib(2)
   └─ fib(1)

👉 大量重复计算


🔍 实际复杂度

cpp 复制代码
O(2^n)

✅ 正确判断

❌ 错误

🎯 递归斐波那契是"指数爆炸"



🧩 第 9 题

❓ 判断:

递归函数一定要有终止条件,否则可能栈溢出。


📖 故事讲解

下楼梯 🪜

  • 没有"到 1 楼停"

    👉 一直往下,掉下去 💥


🔍 结论

  • 必须有 if (结束条件) return

✅ 正确判断

✅ 正确

🎯 递归三要素之一



🧩 第 10 题

❓ 判断:

贪心算法每步最优,一定得到全局最优。


📖 故事讲解

你每次都想拿最多糖的包裹 🍬

结果最后发现:

👉 自己最后包里,装的糖还是没有别人多


🔍 事实

  • 有些问题适合贪心

  • 有些不行(如背包问题)


✅ 正确判断

❌ 错误

🎯 贪心不是万能钥匙


相关推荐
eggwyw16 小时前
C++相交链表和反转链表详解
开发语言·c++
杜 硕16 小时前
从零开始的C++生活——第六讲——02
c++·算法·生活
小超人诞生日记17 小时前
C++ STL 反向迭代器:从源码框架到适配器实现
c++·算法
青少儿编程课堂17 小时前
蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会Scratch考级:校园成语接龙大挑战解析
c++·python·算法·bfs·信息学竞赛
小贾要学习17 小时前
【C++后端开发项目】Reactor 模型 / C++ 仿写 muduo HTTP 服务器:让底层网络库真正跑起网页
linux·服务器·c++·http·网络编程·muduo·reactor模型
A7bert77718 小时前
【MobileSAM部署至RK3588】环境适配→转换RKNN→开发板部署
c++·人工智能·深度学习·目标检测·ubuntu
青少儿编程课堂18 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会C/C++考级:分层图最短路解析
c++·python·算法·bfs·信息学竞赛
FlightYe1 天前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
by209991 天前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
Rover Ramble1 天前
C++ 用互斥锁实现读写锁
开发语言·c++