【202609】Python六级
从PDF导入:【202609】Python六级
Python
120分钟
总分 99.0
27 题
试卷题目预览
第1题
中级
2.0分
单选
下面代码执行后的输出结果是( )。

第2题
中级
2.0分
单选
下面代码横线处填写哪一项,才可以正确调用父类的带参数构造函数?( )

第3题
中级
2.0分
单选
下面代码执行后的输出顺序是( )。

第4题
中级
2.0分
单选
下面代码执行后的输出结果是( )。

第5题
中级
2.0分
单选
下面循环队列采用牺牲一个存储单元(空出一个位置)的方法区分队空与队满,full() 函数判断队列是否已满,横线处应填写( )。

第6题
中级
2.0分
单选
下列函数属于二叉树哪一种遍历( )。

第7题
中级
2.0分
单选
已知一棵二叉树的先序遍历序列为 A B D E C F,中序遍历序列为 D B E A C F,则其后序遍历序列是( )。
第8题
中级
2.0分
单选
下面函数用来计算二叉树的高度,横线处应填写( )。

第9题
中级
2.0分
单选
下面代码实现二叉树深度优先搜索(迭代版前序遍历),横线处应当填写( )。

第10题
中级
2.0分
单选
下面函数用于在二叉搜索树里查找数值 x,横线处应当填写( )。

第11题
中级
2.0分
单选
有 5 个字符,其出现频率分别为 {2, 4, 5, 9, 12}。按哈夫曼算法构造编码树,其最小带权路径长度 WPL 为( )。
第12题
中级
1.0分
单选
下面代码使用反射法生成 n 位格雷编码,横线处应该填写( )。

第13题
中级
2.0分
单选
下面代码计算爬到第 n 级台阶的方案数,每次可以跨 1 级或者 2 级台阶,横线处应填写( )。

第14题
中级
2.0分
单选
代码求解决:从包含非负元素的数组选取若干互不相邻的元素,得到最大和,横线处填写( )。

第15题
中级
2.0分
单选
下面是一维数组实现的 0/1 背包,内层循环必须从大到小枚举容量,主要原因是( )。

第16题
中级
2.0分
判断
下面这段描述:代码可以运行时出错,编译器会自动为 Student 生成无参数构造函数。

第17题
中级
2.0分
判断
下面代码是合法的,派生类可以直接访问基类的私有成员 value。

第18题
中级
2.0分
判断
下面代码执行后,输出结果为 30。

第19题
中级
2.0分
判断
一棵完全二叉树按照从上到下、从左到右的顺序,将节点依次存储在数组 tree[1]、tree[2]、……中。若节点 tree[i] 存在左孩子,则其左孩子存储在 tree[2*i] 中。
第20题
中级
2.0分
判断
对任意一棵左节点更小的二叉搜索树执行中序遍历,得到的关键字序列一定是非递减的。

第21题
中级
2.0分
判断
从结点 start 出发运行下面代码访问一棵树:第一次抵达某个结点时经过的边数,一定是 start 到达该结点的最少边数。

第22题
中级
2.0分
判断
哈夫曼编码的生成过程基于贪心算法,出现频率越高的字符,其编码长度一定不会比出现频率更低的字符更长。
第23题
中级
2.0分
判断
在 n 位格雷码中,任意两个编码之间都只相差一个二进制位。
第24题
中级
2.0分
判断
下列一维 DP 代码实现的是完全背包问题。处理第 i 种物品时,同一物品有可能被重复选取。

第25题
中级
2.0分
判断
下面递归函数可以算出正确的斐波那契数值,该代码时间复杂度与空间复杂度均为 O(n)。

第26题
中级
25.0分
编程
数组划分
时间限制:1.0 s
内存限制:512.0 MB
题目描述
给定 n 个整数构成的数组 A = [a₁, a₂, …, aₙ]。
你需要将数组 A 划分为若干非空连续子段。对于划分得到的某个子段,它的偏差值定义为子段内整数和的平方。则划分方案的偏差值定义为所有子段偏差值之和。
你需要最小化划分方案的偏差值。
形式化地,你可以将 A 划分为若干非空连续子段 A₁, A₂, …, A_k,使得 A = A₁ + A₂ + … + A_k,这里的 + 代表数组的连接。对于 1 ≤ i ≤ k,设数组 Aᵢ = [a₁⁽ⁱ⁾, …, a_m⁽ⁱ⁾] 包含 mᵢ 个整数。你需要最小化 ∑ᵢ₌₁ᵏ (∑ⱼ₌₁^{mᵢ} a_j⁽ⁱ⁾)²。
【输入格式】
第一行,一个正整数 n,表示数组 A 的长度。 第二行,n 个整数 a₁, a₂, …, aₙ,表示数组 A。
【输出格式】
一行,一个整数,表示划分方案偏差值的最小值。
输入样例 1:<img src="/static/uploads/images/934c07592b40.png" style="max-width:35%;border-radius:6px;margin:8px 0;" /> 输出样例 1:6 输入样例 2:<img src="/static/uploads/images/878552ba09a4.png" style="max-width:35%;border-radius:6px;margin:8px 0;" /> 输出样例 2:0 数据范围 对于 40% 的测试点,保证 0 ≤ aᵢ ≤ 50。 对于所有测试点,保证 1 ≤ n ≤ 2000,-100 ≤ aᵢ ≤ 100。
第27题
中级
25.0分
编程
分树规划
时间限制:1.0 s
内存限制:512.0 MB
题目描述
老师有一棵有 n 个结点的树,结点依次以 1, 2, …, n 编号。
老师想将棵操作为奖品分给两位同学。具体而言,老师会选择一条边并从树上删去它,从而将这棵树分为两个连通块。两位同学分别可以得到其中一个连通块。
如果有同学拿到的连通块结点数量明显小于另一位同学,那么这位同学会不太高兴。为了避免这种情况出现,老师想知道两个连通块结点数之差的绝对值最小是多少。
【输入格式】
第一行,一个正整数 n,表示结点数量。 接下来 n − 1 行,每行两个正整数 uᵢ, vᵢ,表示一条连接结点 uᵢ 和结点 vᵢ 的边。
【输出格式】
输出一行,一个整数,表示答案。
输入样例 1:<img src="/static/uploads/images/2a4f75e96c4e.png" style="max-width:35%;border-radius:6px;margin:8px 0;" /> 输出样例 1:0 输入样例 2:<img src="/static/uploads/images/a3a12e5b1fbb.png" style="max-width:35%;border-radius:6px;margin:8px 0;" /> 输出样例 2:2 数据范围 对于 40% 的测试点,保证 2 ≤ n ≤ 500。 对于所有测试点,保证 2 ≤ n ≤ 2 × 10⁴。



