2026年GESP3月C++-六级

姓名:
一、选择题
第 1 题 下列关于 C++ 中类的描述,正确的是 ( )。
第 2 题 下列代码中,s1->draw (); 和 s2->draw (); 输出不同结果的主要原因是 ( )。
第 3 题 下面的代码在 main () 中有一行会导致编译错误,请找出来。
第 4 题 游乐园的过山车每次限坐 4 人,用循环队列管理排队 (容量 MAX=5 , 空一格判满)。下面代码执行后,循环队列是否已满?rear 的值是多少?
第 5 题 在以下计算机系统应用场景中,最适合使用循环队列的是 ( )。
第 6 题 在二叉搜索树 (BST) 中,若中序遍历的序列为 {1, 2, 3, 4, 5}, 且先序遍历的第一个序列元素为 3, 则下列说法正确的是 ( )。
第 7 题 某二叉树共有 10 个结点,记为 A~J, 已知它的先序遍历序列为:A B D H I E C F J G, 中序遍历序列为:H D I B E A F J C G, 则该二叉树的后序遍历序列是 ( )。
第 8 题 下列关于树的遍历的说法中,正确的一项是 ( )。
第 9 题 有 6 个字符,它们出现的次数分别为:{2, 3, 3, 4, 6, 8} , 现在用哈夫曼编码为这些字符编码,最小加权路径长度 WPL (每个字符的出现次数 × 它的编码长度,再把每个字符结果加起来) 的值为 ( )。
第 10 题 对n个不同符号进行哈夫曼编码。若生成的哈夫曼树共有115个结点,则n的值是 ()。
第 11 题 关于格雷编码 (Gray Code), 下列说法正确的是 ( )。
第 12 题 给定一棵二叉树,采用广度优先搜索 (BFS) 算法,返回右视图所有节点的值。其中右视图定义为:二叉树的右视图是从树的右侧看过去时可见的节点集合,即右视图中的每个节点都是某一层中最右侧的节点。
第 13 题 下列关于树的深度优先搜索 (DFS) 的说法中,正确的是 ( )。
第 14 题 小朋友们去邻里拜年,每个家里有不同数量的糖果。规则是:不能连续进入两个相邻的房子 (即不能同时取相邻两家的糖果)。目标是拿到最多糖果。以下是代码实现,请补全横线。
第 15 题 元宵节晚上,小朋友沿着一条发光石板路前进,每次可向前走 1 块或 2 块石板。动态规划定义如下: dp [i] = dp [i - 1] + dp [i - 2] , 下面关于 dp [i] 的含义最合适的是 ( )。
二、判断题
第 1 题 下面定义了一个表示二维坐标点的类 Point , 并提供了一个带参数的构造函数,但第 ② 行 Point b; 会调用编译器自动生成的默认构造函数,将 b.x 和 b.y 初始化为 0.0, 程序可以正常编译运行。
第 2 题 C++ 中的继承支持单继承和多继承,但子类无法直接访问父类的私有成员。
第 3 题 对如下结构的树,执行 travel 函数,输出结果是 1 2 3 4 5 。
第 4 题 若所有字符出现频率相同,则哈夫曼编码一定会得到完全二叉树。
第 5 题 哈夫曼编码是一种变长的前缀编码,在解码时不需要额外的分隔符就能唯一还原,这是因为在哈夫曼树中,任何一个字符的叶子结点都不会成为另一个字符结点的祖先。
第 6 题 在 C++ 中使用一维数组 vector<int> tree 存储按层序遍历的完全二叉树时,若根节点存储在 tree [0] , 则对于任意非空节点 tree [i] , 其右孩子 (如果存在) 必然位于 tree [2 * i + 2] 。
第 7 题 在 C++ 中使用栈来非递归地实现二叉树的前序遍历时,为了保证遍历顺序正确,在处理完当前结点后,应该先将该结点的左孩子压入栈中,然后再将右孩子压入栈中。
第 8 题 设二叉树共有 n 个结点,函数 preorderTraversal 以下代码的时间复杂度为 O(n) , 空间复杂度为 O(n)。
第 9 题 下列代码实现了一个 0-1 背包的一维动态规划代码,内层循环是经典的逆序写法。若将内层循环改成正序遍历 (即 for (int j = w [i]; j <= W; j++) ), 仍能得到正确答案。
第 10 题 在动态规划问题中,状态空间相同且没有重复计算的情况下,“状态转移方程 + 递推” 与 “递归 + 记忆化搜索” 的时间复杂度通常相同。
更多问卷 复制此问卷