← 返回历年试卷

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

单选题

第1题
链表不具备的特点是( )。
2 分
第2题
双向链表中每个结点有两个指针域prev和next,分别指向该结点的前驱及后继结点。设p指向链表中的
2 分
第3题
假设双向循环链表包含头尾哨兵结点(不存储实际内容),分别为head和tail,链表中每个结点有两个指
2 分
第4题
用以下辗转相除法(欧几里得算法)求gcd(84, 60)的步骤中,第二步计算的数是( )。
2 分
第5题
根据唯一分解定理,下面整数的唯一分解是正确的( )。
2 分
第6题
下述代码实现素数表的线性筛法,筛选出所有小于等于nn的素数,横线上应填的最佳代码是( )。
2 分
第7题
在程序运行过程中,如果递归调用的层数过多,会因为( )引发错误。
2 分
第8题
对下面两个函数,说法错误的是( )。
2 分
第9题
下算法中,( )是不稳定的排序。
2 分
第10题
考虑以下C++代码实现的快速排序算法,将数据从小到大排序,则横线上应填的最佳代码是( )。
2 分
第11题
若用二分法在[1, 100]内猜数,最多需要猜( )次。
2 分
第12题
下面代码实现了二分查找算法,在数组 arr 找到目标元素 target 的位置,则横线上能填写的最佳代码
2 分
第13题
贪心算法的核心特征是( )。
2 分
第14题
函数int findMax(int arr[], int low, int high) 计算数组中最大元素,其中数组arr从索引
2 分
第15题
小杨编写了一个如下的高精度乘法函数,则横线上应填写的代码为( )。
2 分

判断题

第1题
要删除单链表中某个结点p(非尾结点),但不知道头结点,可行的操作是将p->next的数据拷贝到p的数
2 分
第2题
链表存储线性表时要求内存中可用存储单元地址是连续的。
2 分
第3题
线性筛相对于埃拉托斯特尼筛法,每个合数只会被它的最小质因数筛去一次,因此效率更高。
2 分
第4题
贪心算法通过每一步选择当前最优解,从而一定能获得全局最优解。
2 分
第5题
递归函数必须具有一个终止条件,以防止无限递归。
2 分
第6题
快速排序算法的时间复杂度与输入是否有序无关,始终稳定为O(nlog⁡n)O(n\log n)。
2 分
第7题
归并排序算法的时间复杂度与输入是否有序无关,始终稳定为O(nlog⁡n)O(n\log n)。
2 分
第8题
二分查找适用于对无序数组和有序数组的查找。
2 分
第9题
小杨有100元去超市买东西,每个商品有各自的价格,每种商品只能买1个,小杨的目标是买到最多数量的商
2 分
第10题
归并排序算法体现了分治算法,每次将大的待排序数组分成大小大致相等的两个小数组,然后分别对两个
2 分

编程题

未做
第1题平均分配
25 分
未做
第2题原根判断
25 分