GESP 2025年9月_C++六级试卷
从PDF导入:GESP 2025年9月_C++六级试卷
C++
180分钟
总分 100.0
27 题
试卷题目预览
第1题
中级
2.0分
单选
下列关于类的说法,错误的是( )。
第2题
中级
2.0分
单选
假设变量veh是类Car的一个实例,我们可以调用veh.move(),是因为面向对象编程有( )性质。

第3题
中级
2.0分
单选
下面代码中v1和v2调用了相同接口move(),但输出结果不同,这体现了面向对象编程的( )特性。

第4题
中级
2.0分
单选
栈的操作特点是( )。
第5题
中级
2.0分
单选
循环队列常用于实现数据缓冲。假设一个循环队列容量为5(即最多存放4个元素,留一个位置区分空与满),依次进行操作:入队数据1,2,3,出队1个数据,再入队数据4和
第6题
中级
2.0分
单选
以下函数createTree()构造的树是什么类型?

第7题
中级
2.0分
单选
已知二叉树的中序遍历是[D,B,E,A,F,C],先序遍历是[A,B,D,E,C,F]。请问该二叉树的后序遍历结果是( )。
第8题
中级
2.0分
单选
完全二叉树可以用数组连续高效存储,如果节点从1开始编号,则对有两个孩子节点的节点i,( )。
第9题
中级
2.0分
单选
设有字符集{a,b,c,d,e,f},其出现频率分别为{5,9,12,13,16,45}。哈夫曼算法构造最优前缀编码,以下哪一组可能是对应的哈夫曼编码?(非叶子
第10题
中级
2.0分
单选
下面代码生成格雷编码,则横线上应填写( )。

第11题
中级
2.0分
单选
请将下列树的深度优先遍历代码补充完整,横线处应填入( )。

第12题
中级
2.0分
单选
令n是树的节点数目,下列代码实现了树的广度优先遍历,其时间复杂度是( )。

第13题
中级
2.0分
单选
在二叉排序树(Binary Search Tree, BST)中查找元素50,从根节点开始:若根值为60,则下一步应去搜索:
第14题
中级
2.0分
单选
删除二叉排序树中的节点时,如果节点有两个孩子,则横线处应填入( ),其中findMax和findMin分别为寻找树的最大值和最小值的函数。

第15题
中级
2.0分
单选
给定n个物品和一个最大承重为W的背包,每个物品有一个重量和价值,每个物品只能选择放或不放。目标是选择若干个物品放入背包,使得总价值最大,且总重量不超过W,则横线

第16题
中级
2.0分
判断
当基类可能被多态使用,其析构函数应该声明为虚函数。
第17题
中级
2.0分
判断
哈夫曼编码是最优前缀码,且编码结果唯一。
第18题
中级
2.0分
判断
一个含有n个节点的完全二叉树,高度为log(n)。
第19题
中级
2.0分
判断
在C++ STL中,栈(std::stack)的pop操作返回栈顶元素并移除它。
第20题
中级
2.0分
判断
循环队列通过模运算循环使用空间。
第21题
中级
2.0分
判断
一棵有n个节点的二叉树一定有n-1条边。
第22题
中级
2.0分
判断
以下代码实现了二叉树的中序遍历。输入以下二叉树,中序遍历结果是4 2 5 1 3 6。(树结构:根1,左子树2(孩子4,5),右子树3(右孩子6))

第23题
中级
2.0分
判断
下面代码实现的二叉排序树的查找操作时间复杂度是O(h),其中h为树高。

第24题
中级
2.0分
判断
下面代码实现了动态规划版本的斐波那契数列计算,其时间复杂度是O(n)。

第25题
中级
2.0分
判断
有一排香蕉,每个香蕉有不同的甜度值。小猴子想吃香蕉,但不能吃相邻的香蕉。以下代码能找到小猴子吃到最甜的香蕉组合。

第26题
中级
25.0分
编程
划分字符串
小A有一个由n个小写字母组成的字符串s。他希望将s划分为若干个子串,使得子串中每个字母至多出现一次。例如,对于字符串street来说,str+e+e+t是满足条件的划分;而s+tree+t不是,因为子串tree中e出现了两次。额外地,小A还给出了价值a,表示划分后长度为k的子串价值为a_k。小A希望最大化划分后得到的子串价值之和。你能帮他求出划分后子串价值之和的最大值吗?
【输入格式】
第一行,一个正整数n,表示字符串的长度。 第二行,一个包含n个小写字母的字符串s。 第三行,n个正整数a_1~a_n,表示不同长度的子串价值。
【输出格式】
一行,一个整数,表示划分后子串价值之和的最大值。
【样例输入1】 6 street 2 1 7 4 3 3 【样例输出1】 13 【样例输入2】 8 blossoms 1 1 2 3 5 8 13 21 【样例输出2】 8 对于所有测试点,保证1≤n≤10^5,1≤a_i≤10^9。
第27题
中级
25.0分
编程
货物运输
A国有n座城市,依次以1~n编号,其中1号城市为首都。这n座城市由n-1条双向道路连接,第i条道路连接编号为u_i和v_i的两座城市,道路长度为w_i。任意两座城市间均可通过双向道路到达。现在A国需要从首都向各个城市运送货物。具体来说,满载货物的车队会从首都开出,经过一座城市时将对应的货物送出,因此车队需要经过所有城市。A国希望你设计一条路线,在从首都出发经过所有城市的前提下,最小化经过的道路长度总和。注意一座城市可以经过多次,车队最后可以不返回首都。
【输入格式】
第一行,一个正整数n,表示A国的城市数量。 接下来n-1行,每行三个整数u_i,v_i,w_i,表示一条双向道路连接编号为u_i和v_i的两座城市,道路长度为w_i。
【输出格式】
一行,一个整数,表示你设计的路线所经过的道路长度总和。
【样例输入1】 4 1 2 6 1 3 1 3 4 5 【样例输出1】 18 【样例输入2】 7 1 2 1 2 3 1 3 4 1 7 6 1 6 5 1 5 1 1 【样例输出2】 9 对于所有测试点,保证2≤n≤10^5,1≤w_i≤10^9。