选择题 共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

488 | 202406GESP C++六级试卷-练习
选择题 共15道
01

面向对象的编程思想主要包括( )原则。

2分
登录后查看选项
02

运行下列代码,屏幕上输出( )。

2分
登录后查看选项
03

运行下列代码,屏幕上输出( )。

11.png

12.png

13.png

2分
登录后查看选项
04

向一个栈顶为hs的链式栈中插入一个指针为s的结点时,应执行( )。

2分
登录后查看选项
05

在栈数据结构中,元素的添加和删除是按照什么原则进行的?

2分
登录后查看选项
06

要实现将一个输入的十进制正整数转化为二进制表示,下面横线上应填入的代码为( )。

2分
登录后查看选项
07

下面定义了一个循环队列的类,请补全判断队列是否满的函数,横向上应填写( )。

17.png

18.png

19.png

2分
登录后查看选项
08

对“classmycls”使用哈夫曼(Huffman)编码,最少需要( )比特。

2分
登录后查看选项
09

二叉树的( )第一个访问的节点是根节点。

2分
登录后查看选项
10

一棵5层的满二叉树中节点数为( )。

2分
登录后查看选项
11

在求解最优化问题时,动态规划常常涉及到两个重要性质,即最优子结构和( )。

2分
登录后查看选项
12

青蛙每次能跳1或2步,下面代码计算青蛙跳到第n步台阶有多少种不同跳法。则下列说法,错误的是( )。

2分
登录后查看选项
13

阅读以下二叉树的广度优先搜索代码:

21.png

22.png

使用以上算法,在以下这棵树搜索数值 时,可能的输出是( )。

23.png

2分
登录后查看选项
14

同上题中的二叉树,阅读以下二叉树的深度优先搜索代码:

使用以上算法,在二叉树搜索数值 时,可能的输出是( )。

2分
登录后查看选项
15

在上题的树中搜索数值 时,采用深度优先搜索一共比较的节点数为( )。

2分
登录后查看选项
判断题 共10道
16

哈夫曼编码本质上是一种贪心策略。

2分
登录后查看选项
17

创建一个对象时,会自动调用该对象所属类的构造函数。如果没有定义构造函数,编译器会自动生成一个默认的构造函数。

2分
登录后查看选项
18

定义一个类时,必须手动定义一个析构函数,用于释放对象所占用的资源。

2分
登录后查看选项
19

C++中类内部可以嵌套定义类。

2分
登录后查看选项
20

000, 001, 011, 010, 110, 111, 101, 100是一组格雷码。

2分
登录后查看选项
21

n个节点的双向循环链表,在其中查找某个节点的平均时间复杂度是7.png

2分
登录后查看选项
22

完全二叉树可以用数组存储数据。

2分
登录后查看选项
23

在C++中,静态成员函数只能访问静态成员变量。

2分
登录后查看选项
24

在深度优先搜索中,通常使用队列来辅助实现。

2分
登录后查看选项
25

对0-1背包问题,贪心算法一定能获得最优解。

2分
登录后查看选项
编程题 共2道
26

计算得分


题面描述


小杨想要计算由m个小写字母组成的字符串的得分。

小杨设置了一个包含n个正整数的计分序列A=[a1,a2,...,an],如果字符串的一个子串由k(1≤k≤n)个abc首尾相接组成,那么能够得到分数ak,并且字符串包含的字符不能够重复计算得分,整个字符串的得分是计分子串的总和。

例如,假设n=3,字符串dabcabcabcabzabc的所有可能计分方式如下:

d+ac+abcabc+abz+abc或者d+abcac+ac+abz+abc,其中d和abz不计算得分,总得分为a1+a2+a1

d+abc+abc+abc+abz+abc,总得分尾a1+a1+a1+a1

d+abcabcabc+abz+abc,总得分为a3+a1

小杨想知道对于给定的字符串,最大总得是多少、


输入格式

第一行包含一个正整数n,代表计分序列N 的长度。

第二行包含n个正整数,代表计分序列A。

第三行包含一个正整数m,代表字符串的长度。

第四行包含一个由m个小写字母组成的字符串。


输出格式

输出一个整数,代表给定字符串的最大总得分。


样例1

样例解释

最优的计分方式为d+abc+abc+abc+abz,总得分尾a1+a1+a1,共9分。


数据范围

25分
登录后作答
27

二叉树


题面描述

小杨有一棵包含 n个节点的二叉树,且根节点的编号为1 。这棵二叉树任意一个节点要么是白色,要么是黑色。之后小杨会对这棵二叉树进行 q次操作,每次小杨会选择一个节点,将以这个节点为根的子树内所有节点的颜色反转,即黑色变成白色,白色变成黑色。

小杨想知道q次操作全部完成之后每个节点的颜色。


输入格式

第一行一个正整数n ,表示二叉树的节点数量。

第二行n-1 个正整数,第 i( 1≤i≤n-1)个数表示编号为i+1 的节点的父亲节点编号,数据保证是一棵二叉树。

第三行一个长度为 n的 串01,从左到右第 i( 1≤i≤n)位如果为 0,表示编号为i 的节点颜色为白色,否则为黑色。

第四行一个正整数q ,表示操作次数。

接下来q 行每行一个正整数 a_i(1≤a_i≤n ),表示第 i次操作选择的节点编号。


输出格式

输出一行一个长度为n 的 01串,表示 q次操作全部完成之后每个节点的颜色。从左到右第 i( 1≤i≤n) 位如果为0,表示编号为i 的节点颜色为白色,否则为黑色。


样例1

样例解释

第一次操作后,节点颜色为:011010

第二次操作后,节点颜色为:000000

第三次操作后,节点颜色为:010000


数据范围


25分
登录后作答