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 题

❓ 判断:

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


📖 故事讲解

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

结果最后发现:

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


🔍 事实

  • 有些问题适合贪心

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


✅ 正确判断

❌ 错误

🎯 贪心不是万能钥匙


相关推荐
rainbow68892 小时前
EffectiveC++入门:四大习惯提升代码质量
c++
秋邱2 小时前
用 Python 写出 C++ 的性能?用CANN中PyPTO 算子开发硬核上手指南
开发语言·c++·python
我在人间贩卖青春3 小时前
C++之析构函数
c++·析构函数
我在人间贩卖青春3 小时前
C++之数据类型的扩展
c++·字符串·数据类型
果果燕3 小时前
今日学习笔记:双向链表、循环链表、栈
笔记·学习·链表
wangjialelele3 小时前
平衡二叉搜索树:AVL树和红黑树
java·c语言·开发语言·数据结构·c++·算法·深度优先
苏宸啊3 小时前
C++栈和队列
c++
xuxie993 小时前
day 21 双向链表以及循环链表
数据结构·链表
森G4 小时前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu
橘颂TA4 小时前
【测试】高效浏览器操作:基础功能与优化设置大全
c++·功能测试·职场和发展·测试·web测试