试卷 2024年6月GESP认证C++编程七级真题试卷
2024年6月GESP认证C++编程七级真题试卷
选择题
第 1 题    单选题

下列C++代码的输出结果是( )。

1 #include <iostream>
2 #include <cmath>
3 using namespace std;
4 int main() {
5  cout << sin(3.1415926 / 2);
6  return 0;
7 }
A.

0

B.

1

C.

0.5

D.

0.7071

第 2 题    单选题

对于如下图的二叉树,说法正确的是( )。

A.
先序遍历是 132 。
B.
中序遍历是 123 。
C.
后序遍历是 312 。
D.
先序遍历和后序遍历正好是相反的。
第 3 题    单选题
已知两个序列s1= {1,3,4,5,6,7,7,8,1} 、s2= {3,5,7,4,8,2,9,5,1} ,则它们的最长公共子序列是( )。
A.
{3,5,7,8,1}
B.
{3,4,5,7,8}
C.
{5,7,8}
D.
{3,5,7,9,1}
第 4 题    单选题
关于序列 {2,7,1,5,6,4,3,8,9} ,以下说法错误的是( )。
A.
{2,5,6,8,9} 是它的最长上升子序列
B.
{1,5,6,8,9} 是它的最长上升子序列
C.
{7,5,4,3} 是它的最长下降子序列
D.
{1,5,6,8,9} 是它的唯一最长上升子序列
第 5 题    单选题
关于图的深度优先搜索和广度优先搜索,下列说法错误的是( )。
A.
二叉树是也是一种图。
B.
二叉树的前序遍历和后序遍历都是深度优先搜索的一种。
C.
深度优先搜索可以从任意根节点开始。
D.
二叉树的后序遍历也是广度优先搜索的一种。
第 6 题    单选题

对于如下二叉树,下面访问顺序说法错误的是( )。

A.
HDEBFIGCA不是它的后序遍历序列
B.
ABCDEFGHI是它的广度优先遍历序列
C.
ABDHECFGI是它的深度优先遍历序列
D.
ABDHECFGI是它的先序遍历序列
第 7 题    单选题
以下哪个方案不能合理解决或缓解哈希表冲突( )。
A.
丢弃发生冲突的新元素。
B.
在每个哈希表项处,使用不同的哈希函数再建立一个哈希表,管理该表项的冲突元素。
C.
在每个哈希表项处,建立二叉排序树,管理该表项的冲突元素。
D.
使用不同的哈希函数建立额外的哈希表,用来管理所有发生冲突的元素。
第 8 题    单选题
在C++中,关于运算符&,下面说法正确的是( )。
A.
2 & 3 的结果是 true
B.
011 & 111 的结果是 3
C.
3 & 6 的结果是 2
D.
110 & 101 的结果是 4
第 9 题    单选题
下面关于图的说法正确的是( )。
A.
在无向图中,环是指至少包含三个不同顶点,并且第一个顶点和最后一个顶点是相同的路径。
B.
在有向图中,环是指一个顶点经过至少另一个顶点到自身的路径。
C.
在有向图中,如果任意两个顶点之间都存在一条边,则这个图一定是强连通图。
D.
在有向图中,所有顶点的入度和出度的总和就是图的边数的两倍。
第 10 题    单选题
图的存储和遍历算法,下面说法错误的是( )。
A.
图的深度优先搜索和广度优先搜索对有向图和无向图都适用。
B.
图的深度优先搜索和二叉树的先序遍历道理是不一样的。
C.
图的深度优先搜索需要借助栈来完成。
D.
邻接表中,顶点 对应链表中的边结点数目正好是顶点 的度。
第 11 题    单选题

如下图所示的邻接表结构,表示的是下列哪个选项中的图?

A.

B.

C.

D.

第 12 题    单选题

如下图所示的邻接矩阵(inf表示无穷大),表示的是下列哪个选项中的图?

A.

B.

C.

D.

第 13 题    单选题

下面程序的输出为( )。

1 #include <iostream>
2 using namespace std;
3 int fib(int n) {
4  if (n <= 1)
5   return n;
6  return fib(n - 1) + fib(n - 2);
7 }
8 int main() {
9  cout << fib(6) << endl;
10  return 0;
11 }
A.

5

B.

8

C.

13

D.
无法正常结束。
第 14 题    单选题

下面 count_triple 函数的时间复杂度为( )。

1 int count_triple(int n) {
2  int cnt = 0;
3  for (int a = 1; a <= n; a++)
4   for (int b = a; a + b <= n; b++) {
5    int c = sqrt(a * a + b * b);
6    if (a + b + c > n)
7     break;
8    if (a * a + b * b == c * c)
9     cnt++;
10   }
11  return cnt;
12 }
A.

O(n)

B.

O(n2)

C.

O(n3)

D.

O(n4)

第 15 题    单选题

下列选项中,哪个可能是下图的深度优先遍历序列( )。

A.
1, 3, 7, 5, 4, 2, 6, 8, 9
B.
9, 4, 2, 1, 3, 5, 7, 6, 8
C.
1, 3, 4, 2, 7, 6, 8, 9, 5
D.
9, 7, 6, 8, 4, 2, 1, 5, 3
判断题
第 16 题    判断题
C++语言中,表达式 6 & 5 的结果类型为 int 、值为 1 。
A.
正确
B.
错误
第 17 题    判断题
冒泡排序是稳定的排序算法。
A.
正确
B.
错误
第 18 题    判断题
唯一分解定理(算术基本定理)指出,每个大于1的自然数都可以唯一地分解成若干个素数的乘积。因此,我们可以很容易的对给定的自然数n进行质因数分解,时间复杂度仅为O(log(n))。
A.
正确
B.
错误
第 19 题    判断题
C++语言中,可以为同一个类定义多个构造函数。
A.
正确
B.
错误
第 20 题    判断题
使用 math.h 或 cmath 头文件中的对数函数,表达式 log(128) 的结果类型为 double 、值约为 7.0 。
A.
正确
B.
错误
第 21 题    判断题
一颗 N 层的二叉树,至少有2N-1个节点。
A.
正确
B.
错误
第 22 题    判断题
非连通图不能使用广度优先搜索算法进行遍历。
A.
正确
B.
错误
第 23 题    判断题
现使用有 N 个表项的哈希表,从 M 个元素中进行查找。该哈希表为解决哈希函数冲突,为每个表项处建立单链表存储冲突元素。其查找操作的最坏情况时间复杂度为O(M)。
A.
正确
B.
错误
第 24 题    判断题
动态规划有递推实现和递归实现,对于很多问题,通过记录子问题的解,两种实现的时间复杂度是相同的。
A.
正确
B.
错误
第 25 题    判断题
泛洪算法的递归方法容易造成溢出,因此大的二维地图算法中,一般不用递归方法。
A.
正确
B.
错误
编程题
第 26 题    问答题

3.1 编程题 1 

试题名称:黑白翻转 

时间限制:1.0 s 

内存限制:512.0 MB 

3.1.1 题面描述 

小杨有一棵包含n个节点的树,这棵树上的任意一个节点要么是白色,要么是黑色。小杨认为一棵树是美丽树当且仅当在删除所有白色节点之后,剩余节点仍然组成一棵树。 

小杨每次操作可以选择一个白色节点将它的颜色变为黑色,他想知道自己最少要执行多少次操作可以使得这棵树变为美丽树。 

3.1.2 输入格式 

第一行包含一个正整数n,代表树的节点数。

第二行包含n个非负整数a1,a2,…,an,其中如果ai=0,则节点i的颜色为白色,否则为黑色。 

之后n-1行,每行包含两个正整数xi,yi,代表存在一条连接节点xi和yi的边。 

3.1.3 输出格式 

输出一个整数,代表最少执行的操作次数。 

3.1.4 样例1 

3.1.5 样例解释 

将节点1和3变为黑色即可使这棵树变为美丽树,此时删除白色节点5,剩余黑色节点仍然组成一棵树。 

3.1.6 数据范围 

对于全部数据,保证有1≤n≤105,0≤ai≤1。

第 27 题    问答题

3.2 编程题 2  

试题名称:区间乘积 

时间限制:1.0 s 

内存限制:512.0 MB 

3.2.1 题面描述 

小杨有一个包含n个正整数的序列A=[a1,a2,…,an]。 

小杨想知道有多少对<l,r>(1≤l≤r≤n) 满足al×al+1×…×ar为完全平方数。 

一个正整数x为完全平方数当且仅当存在一个正整数y使得x=y×y。 

3.2.2 输入格式 

第一行包含一个正整数n,代表正整数个数。 

第二行包含n个正整数a1,a2,…,an,代表序列A。 

3.2.3 输出格式 

输出一个整数,代表满足要求的<l,r>数量。 

3.2.4 样例1 

                   

3.2.5 样例解释 

满足条件的<l,r>有<3,3>和<1,5>。 

3.2.6 数据范围 

对于全部数据,保证有1≤n≤105,1≤ai≤30。

答题卡
选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
判断题
编程题
26 27
题目总数:27
总分数:100
时间:90分钟