GESP 2025年12月_C++七级试卷

从PDF导入:GESP 2025年12月_C++七级试卷

C++ 180分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选
下面关于C++中形参、实参和定义域的说法中,正确的一项是( )。
A. 形参是函数定义时所指定的变量,它只在函数内部有效。
B. 在函数内部,可以修改传入的形参的值,即使该形参是一个常量引用。
C. 实参和形参的类型必须完全一致,否则会导致编译错误。
D. 使用指针作为形参时,形参是指向实参的地址,因此对该指针赋值会影响实参。
第2题 中级 2.0分 单选
已知三个序列:s1={3,1,8,2,5,6,7,4},s2={1,5,1,8,6,4,7,5,6},s3={1,8,3,5,7,...}。下面哪个序列是这三个最长公共子序列( )。
A. {1,8,5,6}
B. {1,5,6,7}
C. {1,8,6}
D. {1,5,7,4}
第3题 中级 2.0分 单选
现有一个地址区间为0~10的哈希表,当出现冲突情况,会往后找第一个空的地址存储。哈希函数为h(x)=2+x mod 11。现在要依次存储(1,3,5,7,9),哈希函数为h(x)=(x2+x)mod 11 。其中存储在哈希表哪个地址中 ( )。
A. 1
B. 2
C. 3
D. 4
第4题 中级 2.0分 单选
在0/1背包问题中,以下描述正确的是( )。
A. 使用贪心算法可以保证找到最优解。
B. 0/1背包是P问题,可以在O(nw)时间内解决。
C. 动态规划解法的空间复杂度为O(nw),但可以通过滚动数组优化到O(W)。
D. 子问题之间是独立的,无法重用计算结果。
第5题 中级 2.0分 单选
一棵深度为6(根节点深度为1)的完全二叉树,节点总数最少有( )。
A. 31
B. 32
C. 63
D. 64
第6题 中级 2.0分 单选
对于如下二叉树,下面关于访问的顺序说法错误的是( )。

A. DEBFHJIGCA是它的后序遍历序列。
B. ABCDEFGHIJ是它的广度优先遍历序列。
C. ABDECFGHIJ是它的先序遍历序列。
D. DBEAFCHGJI是它的中序遍历序列。
第7题 中级 2.0分 单选
下面程序的运行结果为( )。

#include
using namespace std;
int f(int n) {
if (n <= 2) return n * 2;
return f(n - 1) + f(n - 2);
}
int main() {
cout << f(5) << endl;
return 0;
}

A. 2
B. 3
C. 4
D. 5
第8题 中级 2.0分 单选
下面程序中,函数query的时间复杂度是( )。

#include
int query(int n, int a[], int x) {
int l = 0, r = n;
while (l < r) {
int mid = l + (r - l) / 2;
if (a[mid] >= x) r = mid;
else l = mid + 1;
}
if (l == n) return -1;
return l;
}
int main() {
int n = 10;
int x = 3;
int num[] = {1, 2, 2, 3, 3, 4, 5, 5, 6, 7};
std::cout << query(n, num, x) << "
";
return 0;
}

A. O(1)
B. O(logn)
C. O(n)
D. O(nlogn)
第9题 中级 2.0分 单选
有5个字符,它们出现的次数分别为2次、2次、3次、3次、5次。现在要用哈夫曼编码的方式来为这些字符进行编码,最小加权路径长度WPL的值为( )。
A. 30
B. 34
C. 43
D. 47
第10题 中级 2.0分 单选
下面程序的运行结果为( )。

A. 10
B. 16
C. 26
D. 30
第11题 中级 2.0分 单选
一个简单无向图G有36条边,且每个顶点的度数都为4,则图G的顶点个数为( )。
A. 9
B. 12
C. 18
D. 36
第12题 中级 2.0分 单选
下面关于二叉树的说法正确的是( )。
A. 任意二叉树的中序遍历与后序遍历必定不相同。
B. 对任意二叉树,若已知先序遍历与后序遍历,则该二叉树唯一确定。
C. 若二叉树有n个结点,根节点高度为1,则其高度满足:log₂(n+1)≤h≤n。
D. 在二叉树的先序遍历中,根后紧跟的结点一定是根的左孩子。
第13题 中级 2.0分 单选
假设一个算法时间复杂度的递推式是T(n)=8T(n/4)+n²,和T(0)=1,那么这个算法的时间复杂度是( )。
A. O(n³)
B. O(n²logn)
C. O(n²)
D. O(n²log²n)
第14题 中级 2.0分 单选
下面哪一个可能是下图的深度优先遍历序列?( )

A. 1,5,6,3,2,8,9,4,7
B. 1,5,8,9,7,4,6,3,2
C. 3,2,1,4,7,6,9,5,8
D. 2,5,6,3,8,7,9,4,1
第15题 中级 2.0分 单选
下面这个有向图的强连通分量的个数是( )。

A. 3
B. 4
C. 5
D. 6
第16题 中级 2.0分 判断
C++语言中,表达式3^2的结果类型为int,值为9。
T. 正确
F. 错误
第17题 中级 2.0分 判断
使用cmath头文件中的正弦函数,表达式sin(90)的结果类型为double,值约为1.0。
T. 正确
F. 错误
第18题 中级 2.0分 判断
使用strcmp("10","9")比较两个字符串,返回值大于0,说明"10"比"9"大。
T. 正确
F. 错误
第19题 中级 2.0分 判断
选择排序是一种不稳定的排序算法,而冒泡排序是一种稳定的排序算法。
T. 正确
F. 错误
第20题 中级 2.0分 判断
求两个长度为n序列的最长公共子序列(LCS)长度时,可以使用滚动数组将空间复杂度从O(n²)优化到O(n)。
T. 正确
F. 错误
第21题 中级 2.0分 判断
在无向图中,所有顶点的度数之和等于边数的两倍。
T. 正确
F. 错误
第22题 中级 2.0分 判断
使用邻接矩阵存储一个有V个顶点、E条边的图,对该图进行一次完整的BFS遍历,时间复杂度为O(V+E)。
T. 正确
F. 错误
第23题 中级 2.0分 判断
在图像处理或游戏开发中,泛洪(flood fill)算法既可以用BFS实现,也可以用DFS实现。
T. 正确
F. 错误
第24题 中级 2.0分 判断
使用链地址法处理冲突的哈希表,当所有元素都映射到同一个槽位时,查找操作的最坏时间复杂度为O(n)。
T. 正确
F. 错误
第25题 中级 2.0分 判断
一个包含V个顶点的连通无向图,其任何一棵生成树都恰好包含V-1条边。
T. 正确
F. 错误
第26题 中级 25.0分 编程
城市规划

时间限制:1.0s 内存限制:512.0MB
A国有n座城市,城市之间由m条双向道路连接,任意一座城市均可经过若干条双向道路到达另一座城市。
城市依次以1,2,...,n编号。第i(1≤i≤m)条双向道路连接城市ui与城市vi。
对于城市u和城市v而言,它们之间的连通度d(u,v)定义为从城市u出发到达城市v所需经过的双向道路的最少条数。
由于道路是双向的,可以知道连通度满足d(u,v)=d(v,u),特殊地有d(u,u)=0。
现在A国正在规划城市建设方案。城市u的建设难度为它到其它城市的最大连通度。
请你求出建设难度最小的城市,如果有多个满足条件的城市,则选取其中编号最小的城市。

【输入格式】
第一行,两个正整数n,m。接下来m行,每行两个整数ui,vi,表示一条双向道路。
【输出格式】
输出一行,一个整数,表示建设难度最小的城市编号。
【样例输入1】
3 3
1 2
1 3
2 3
【样例输出1】
1
对于所有测试点,保证1≤n≤2000,1≤m≤2000。
第27题 中级 25.0分 编程
学习小组

时间限制:1.0s 内存限制:512.0MB
班主任计划将班级里的n名同学划分为若干个学习小组,每名同学都需要分入某一个学习小组中。
班级里的同学依次以1,2,...,n编号,第i名同学有其发言积极度ci。
观察发现,如果一个学习小组中恰好包含编号为p₁,p₂,...,pk的k名同学,则该学习小组的基础讨论积极度为ak,综合讨论积极度为ak+max{cp₁,cp₂,...,cpk}。
给定基础讨论积极度a₁,a₂,...,an,请你计算将这n名同学划分为学习小组的所有可能方案中,综合讨论积极度之和的最大值。

【输入格式】
第一行,一个正整数n。第二行,n个非负整数c₁,c₂,...,cn。第三行,n个非负整数a₁,a₂,...,an。
【输出格式】
输出一行,一个整数,表示所有划分方案中,学习小组综合讨论积极度之和的最大值。
对于所有测试点,保证1≤n≤2000。
💬