选择题 共15道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15


判断题 共10道

16 17 18 19 20 21 22 23 24 25


编程题 共2道

26 27

486 202503GESP C++六级试卷-练习
选择题 共15道
01 在面向对象编程中,类是一种重要的概念。下面关于类的描述中,不正确的是( ) 2分
登录后查看选项
02 哈夫曼编码是一种数据压缩算法。以下关于哈夫曼编码的描述中,不正确的是( ) 2分
登录后查看选项
03

以下代码实现了树的哪种遍历方式?

2分
登录后查看选项
04

以下关于完全二叉树的代码描述,正确的是( )

2分
登录后查看选项
05

以下代码实现了二叉排序树的哪种操作?

5.png

2分
登录后查看选项
06 给定字符集 {A, B, C, D} 的出现频率分别为 {5, 1, 6, 2} ,则正确的哈夫曼编码是( ) 2分
登录后查看选项
07 关于动态规划的描述,正确的是( )。 2分
登录后查看选项
08

以下代码中,类的构造函数被调用了( )次。

2分
登录后查看选项
09

以下代码实现了循环队列的哪种操作?

9.png

2分
登录后查看选项
10

以下代码实现了二叉树的深度优先搜索(DFS),并统计叶子结点的数量,则横线上应填写( )

10.png

2分
登录后查看选项
11

以下代码实现了二叉树的广度优先搜索(BFS),并查找特定值的节点,则横线上应填写( )。

11.png

2分
登录后查看选项
12

以下代码用于生成n位格雷编码。横线上应填写( )。

2分
登录后查看选项
13

以下代码实现了0/1背包问题的动态规划解法。假设物品重量为 weights[] ,价值为 values[] ,背包容 量为 W ,横线上应填写( )。

2分
登录后查看选项
14

以下代码用于检查字符串中的括号是否匹配,横线上应填写( )。

14.png

2分
登录后查看选项
15

关于下面代码,说法错误的是( )

2分
登录后查看选项
判断题 共10道
16 哈夫曼树在构造过程中,每次合并权值最小的两个节点,最终生成的树带权路径长度最小 2分
登录后查看选项
17 格雷编码的相邻两个编码之间必须有多位不同,以避免数据传输错误 2分
登录后查看选项
18 在树的深度优先搜索(DFS)中,使用队列作为辅助数据结构以实现“先进后出”的访问顺序 2分
登录后查看选项
19

以下代码实现的是二叉树的中序遍历:

1.png

2分
登录后查看选项
20 C++ 支持构造函数重载,但默认无参数的构造函数只能有一个。 2分
登录后查看选项
21 二叉排序树(BST)中,若某节点的左子树为空,则该节点一定是树中的最小值节点。 2分
登录后查看选项
22 在动态规划解决一维硬币找零问题时,若硬币面额为 [1, 3, 4] ,目标金额为 6 ,则最少需要 2 枚硬币(3+3)。 2分
登录后查看选项
23 面向对象编程中,封装是指将数据和行为绑定在一起,并对外隐藏实现细节。 2分
登录后查看选项
24

以下代码创建的树是一棵完全二叉树:

2分
登录后查看选项
25 栈和队列均可以用双向链表实现,插入和删除操作的时间复杂度为 O(1) 。 2分
登录后查看选项
编程题 共2道
26

树上漫步


题目描述

小 A 有一棵 n 个结点的树,这些结点依次以 1,2,⋯,n 标号。

小 A 想在这棵树上漫步。具体来说,小A会从树上的某个结点出发,每⼀步可以移动到与当前结点相邻的结点,并且小 A 只会在偶数步(可以是零步)后结束漫步。

现在小 A 想知道,对于树上的每个结点,从这个结点出发开始漫步,经过偶数步能结束漫步的结点有多少个(可以经过重复的节点)。


输入格式

第一行,一个正整数 n。

接下来 n−1 行,每行两个整数 ui,vi,表示树上有⼀条连接结点 ui和结点 vi 的边。


输出格式

一行,n 个整数。第 i 个整数表示从结点 i 出发开始漫步,能结束漫步的结点数量。


输入样例1
3
1 3
2 3
输出样例1
2 2 1

输入样例2
4
1 3
3 2
4 3
输出样例2
3 3 1 3

数据范围

对于 40% 的测试点,保证 1≤n≤103

对于所有测试点,保证 1≤n≤2×105

25分
登录后作答
27

环线


题目描述

小 A 喜欢坐地铁。地铁环线有 n 个车站,依次以 1,2,⋯,n 标号。车站 i (1≤i

小 A 会从某个车站出发,乘坐地铁环线到某个车站结束行程,这意味着小 A 至少会经过一个车站。小 A 不会经过一个车站多次。当小 A 乘坐地铁环线经过车站 i 时,小 A 会获得 ai点快乐值。请你安排小 A 的行程,选择出发车站与结束车站,使得获得的快乐值总和最大。

现在小 A 想知道,对于树上的每个结点,从这个结点出发开始漫步,经过偶数步能结束漫步的结点有多少个(可以经过重复的节点)。


输入格式

第一行,一个正整数 n,表示车站的数量。

第二行,n 个整数 ai,分别表示经过每个车站时获得的快乐值。


输出格式

一行,一个整数,表示小 A 能获得的最大快乐值。


输入样例1
4
-1 2 3 0
输出样例1
5

输入样例2
5
-3 4 -5 1 3
输出样例2
5

数据范围

对于 20% 的测试点,保证 1≤n≤200。

对于 40% 的测试点,保证 1≤n≤2000。

对于所有测试点,保证 1≤n≤2×105,−109 ≤ai ≤109

25分
登录后作答