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 题

❓ 判断:

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


📖 故事讲解

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

结果最后发现:

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


🔍 事实

  • 有些问题适合贪心

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


✅ 正确判断

❌ 错误

🎯 贪心不是万能钥匙


相关推荐
Book思议-14 小时前
【数据结构实战】链表找环入口的经典问题:快慢指针法
c语言·数据结构·算法·链表
tankeven14 小时前
HJ135 计树
c++·算法
㓗冽14 小时前
时间转换-进阶题12
c++·算法
不知名。。。。。。。。14 小时前
仿muduo库实现高并发---请求HttpRequest模块 响应HttpResponse模块
服务器·c++
liuyao_xianhui15 小时前
优选算法_两数之和_位运算_C++
java·开发语言·数据结构·c++·算法·链表·动态规划
也曾看到过繁星15 小时前
类和对象
c++
Book思议-15 小时前
【数据结构实战】判断链表是否有环:快慢指针法(Floyd 判圈算法)
c语言·数据结构·算法·链表
liuyao_xianhui15 小时前
优选算法_位运算_只出现一次的数字3_C++
开发语言·数据结构·c++·算法·leetcode·链表·动态规划
十五年专注C++开发16 小时前
Linux 下用 VS Code 高效调试
linux·运维·服务器·c++·vscode
咕叽吧咔16 小时前
LeetBook乐扣题库 142. 环形链表 II
java·数据结构·leetcode·链表