← 返回历年试卷

GESP C++ 5级 2025年12月真题

单选题

第1题
对如下定义的循环单链表,横线处填写( )。
2 分
第2题
区块链技术是比特币的基础。在区块链中,每个区块指向前一个区块,构成链式列表,新区块只能接在链
2 分
第3题
下面关于单链表和双链表的描述中,正确的是( )。
2 分
第4题
假设我们有两个数 a=38a=38 和 b=14b=14,它们对模 mm 同余,即 a≡b(modm)a\equiv b\pmod{m}。以下哪个值不可能是 mm?
2 分
第5题
下面代码实现了欧几里得算法。下面有关说法,错误的是( )。
2 分
第6题
唯一分解定理描述的内容是( )。
2 分
第7题
下述代码实现素数表的线性筛法,筛选出所有小于等于nn的素数,则横线上应填的代码是( )。
2 分
第8题
下列关于排序的说法,正确的是( )。
2 分
第9题
下面代码实现了归并排序。下述关于归并排序的说法中,不正确的是( )。
2 分
第10题
下述C++代码实现了快速排序算法,最坏情况的时间复杂度是( )。
2 分
第11题
下面代码尝试在有序数组中查找第一个大于等于 x 的元素位置。如果没有大于等于 x 的元素,返回
2 分
第12题
小杨要把一根长度为 L 的木头切成 K 段,使得每段长度小于等于 x。已知每切一刀只能把一段木头分成
2 分
第13题
下面给出了阶乘计算的两种方式。以下说法正确的是( )。
2 分
第14题
给定有nn个任务,每个任务有截止时间和利润,每个任务耗时 1 个时间单位、必须在截止时间前完成,且每
2 分
第15题
下面代码实现了对两个数组表示的正整数的高精度加法(数组低位在前),则横线上应填写( )。
2 分

判断题

第1题
数组和链表都是线性表。链表的优点是插入删除不需要移动元素,并且能随机查找。
2 分
第2题
假设函数 gcd() 函数能正确求两个正整数的最大公约数,则下面的 lcm(a,b) 函数能正确找到两个正整
2 分
第3题
在单链表中,已知指针 p 指向要删除的结点(非尾结点),想在 O(1)O(1) 删除 p,可行做法是用 p->next
2 分
第4题
在求解所有不大于 n 的素数时,线性筛法(欧拉筛)都应当优先于埃氏筛法使用,因为线性筛法的时间复
2 分
第5题
二分查找仅适用于有序数据。若输入数据无序,当仅进行一次查找时,为了使用二分而排序通常不划算。
2 分
第6题
通过在数组的第一个、最中间和最后一个这3个数据中选择中间值作为枢轴(比较基准),快速排序算法可
2 分
第7题
贪心算法在每一步都做出当前看来最优的局部选择,并且一旦做出选择就不再回溯;而分治算法将问题分解
2 分
第8题
以下 fib 函数计算第 n 项斐波那契数(fib(0)=0, fib(1)=1),其时间复杂度为 O(n)O(n)。
2 分
第9题
递归函数一定要有终止条件,否则可能会造成栈溢出。
2 分
第10题
使用贪心算法解决问题时,通过对每一步求局部最优解,最终一定能找到全局最优解。
2 分

编程题

未做
第1题数字移动
25 分
未做
第2题相等序列
25 分