GESP2025年6月认证C++五级( 第一部分选择题(1-8))
第1题链表比数组插入更有效率1、故事数组骑士 和 链表精灵 比赛 “谁在插入、删除时更快”2、一步一步分析① 数组插入一个数 后面都要往后挪 ❌删除一个数 后面都要往前挪 ❌② 链表插入 改指针就行 ✅删除 改指针就行 ✅3、✅结论 链表更擅长插入和删除答案C题目中其他答案都是数组的专长。4、小口诀 数组要搬家链表改指针 第2题怎么判断链表是空的1、故事守门员问 “这个链表里面有没有人”2、一步一步分析判断“空”就是看① head 是不是空 ✅② tail 是不是空 ✅③ size 是不是 0 ✅3、❌错误选项head.data 0问题head 是指针不能直接用.data4、✅结论答案C5、小口诀 判断空看有没有节点不看数值 第3题往链表尾巴加人1、故事队伍后面来了一个新同学 要接到最后2、一步一步操作① 让原尾巴指向新节点tail-next newNode② 新节点指回原尾巴newNode-prev tail③ 更新尾巴tail newNode3、✅结论答案D4、小口诀 先连后指最后换尾 第4题约瑟夫淘汰游戏1、故事一圈小朋友每数到 k 淘汰一个 现在要删除当前人2、正确步骤① 断开链prev-next p-next② 删除节点delete p③ 移动到下一个p prev-next⚠️顺序不能乱3、✅结论答案A4、小口诀 先断链 → 再删除 → 再移动 第5题质数判断的小技巧1、故事质数侦探在找合数2、关键规律 大于3的质数都在6k ± 1例如5 6×1 -17 6×1 111 6*2 -113 6*2 13、分析选项A ❌代码已经特判5B ❌不用检查到 n/2C ✅核心规律D ❌ (慢了4、✅结论答案C5、小口诀 质数藏在 6k±1 第6题最大公约数谁更快1、故事两个方法比赛 暴力枚举⚡ 欧几里得算法2、分析 欧几里得递归更快 ✅3、❌错误点 改成i 1问题如果最大公约数是1就找不到了 ❌4、✅结论答案D5、小口诀 gcd 可能是1不能漏 第7题找质数的三种方法1、故事三位选手比赛1️⃣ 普通判断慢2️⃣ 埃氏筛很快3️⃣线性筛法比埃氏筛法更快尤其在处理大范围数据时效率优势显著。2、比较 速度普通 埃氏筛 线性筛❌错误说法 “埃氏筛最快” 说的太绝对肯定不正确。3、✅结论答案D4、小口诀 埃氏筛法线性筛都很快小范围数据如 n≤10^6可以使用埃氏筛大范围数据如 n≥10^7一定要使用线性筛 第8题唯一分解定理1、故事每个数字都有“唯一拆分方式”2、规律 每个数都能拆成质数 × 质数 × …而且 只有一种拆法3、举例12 2 × 2 × 3不能写成别的组合4、✅结论答案B5、小口诀 一个数 唯一的质数乘积 知识点总结1️⃣ 链表插删快2️⃣ 判断空看指针3️⃣ 插入三步走4️⃣ 删除要顺序5️⃣ 质数看6k±16️⃣ gcd不能漏17️⃣ 线性筛最快8️⃣ 质数分解唯一