万卷网> GESP认证 >Python > 2025年9月CCF—GESP(Python六级)编程能力等级认证试卷

2025年9月CCF—GESP(Python六级)编程能力等级认证试卷
六级 2025 2026-07-14 14:48:25 48

一、单选题

1.

下面代码生成格雷编码中, gray_code 的目的是生成所有的长度为n位的格雷码,则横线上应填写( )。

A.

result.append("1" + s)

B.

result.append("0" + s)

C.

result.append("s" + 0)

D.

result.append("0" + 0)

2.

请将下列树的深度优先遍历代码补充完整,横线处应填入( )。

A.

vector=[]

B.

list=[]

C.

queue=[]

D.

stack = []

3.

完全二叉树可以用数组连续高效存储。如果节点从 1 开始编号,则对有两个孩子节点的节点 i ,()。

A.

左孩子位于 2i ,右孩子位于 2i+1

B.

完全二叉树的叶子节点可以出现在最后一层的任意位置

C.

所有节点都有两个孩子

D.

左孩子位于 2i+1 ,右孩子位于 2i+2

4.

循环队列常用于实现数据缓冲。假设一个循环队列容量为 5(即最多存放 4 个元素,留一个位置区分空与满),依次进行操作:入队数据1,2,3,出队1个数据,再入队数据4和5,此时队首到队尾的元素顺序是( )。

A.

[2, 3, 4, 5]

B.

[1, 2, 3, 4]

C.

[3, 4, 5, 2]

D.

[2, 3, 5, 4]

5.

关于Python类的说法,错误的是( )。

A.

构造方法( __init__ )不能声明为虚方法,但析构方法( __del__ )可以。

B.

函数参数传传递的是对象的引用,不会复制对象。

C.

静态方法属于类、不属于对象,因此不能使用 对象.方法(...) 的形式调用静态方法。

D.

当派生类对象被销毁时,不会自动调用基类的 __del__() 。

6.

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

A.

继承 (Inheritance)

B.

封装 (Encapsulation)

C.

多态 (Polymorphism)

D.

链接 (Linking)

7.

栈的操作特点是( )。

A.

先进先出

B.

先进后出

C.

随机访问

D.

双端进出

8.

给定个物品和一个最大承重为的背包,每个物品有一个重量和价值,每个物品只能选择放或

不放。目标是选择若干个物品放入背包,使得总价值最大,且总重量不超过,则横线上应填写( )。

A.

dp[w] = max(dp[w], dp[wt[i]] + val[i])

B.

dp[w] = max(dp[w], dp[w - wt[0]] + val[i])

C.

dp[w] = max(dp[w], dp[w + wt[i]] - val[i])

D.

dp[w] = max(dp[w], dp[w - wt[i]] + val[i])

9.

以下函数 createTree() 构造的树是什么类型?

A.

满二叉树

B.

完全二叉树

C.

二叉排序树

D.

其他都不对

10.

在二叉搜索树中查找元素 50 ,从根结点开始:若根值为 60 ,则下一步应去:

A.

左子树

B.

右子树

C.

随机

D.

根结点

11.

删除二叉排序树节点时,如果节点有两个孩子,则横线处应填入( ),其中findMax 和 findMin 分别为找树的最大值和最小值。

A.

root.left

B.

root.left.right

C.

root.right

D.

root.right.left

12.

设有字符集 {a, b, c, d, e, f} ,其出现频率分别为 {5, 9, 12, 13, 16, 45} 。哈夫曼算法构造最优前缀编码,以下哪一组可能是对应的哈夫曼编码?(非叶子节点左边分支记作 0,右边分支记作 1,左右互换不影响正确性)。

A.

a: 00;b: 01;c: 10;d: 110;e: 111;f: 0

B.

a: 1100;b: 1101;c: 100;d: 101;e: 111;f: 0

C.

a: 000;b: 001;c: 01;d: 10;e: 110;f: 111

D.

a: 10;b: 01;c: 100;d: 101;e: 111;f: 0

13.

是树的节点数目,下列代码实现了树的广度优先遍历,其时间复杂度是( )。

A.

B.

C.

D.

14.

下面代码执行结果是()。

A.

Toyota is moving...

B.

Toyota car is driving on the road!

C.

编译错误

D.

运行结果不确定

15.

已知二叉树的 中序遍历 是 [D, B, E, A, F, C],先序遍历 是 [A, B, D, E, C, F]。请问该二叉树的后序遍历结果是( )。

A.

[D, E, B, F, C, A]

B.

[D, B, E, F, C, A]

C.

[D, E, B, C, F, A]

D.

[B, D, E, F, C, A]

二、判断题

1.

以下代码实现了二叉树的中序遍历,输入以下二叉树,中序遍历结果是 4 2 5 1 3 6 。

A.正确 B.错误
2.

下面代码实现的二叉搜索树的查找操作时间复杂度是O(h), 为树高。

A.正确 B.错误
3.

哈夫曼编码是最优前缀码,且编码结果唯一。

A.正确 B.错误
4.

下面代码实现了动态规划版本的斐波那契数列计算,其时间复杂度是

A.正确 B.错误
5.

在 Python 中,类的方法默认是“虚函数”,派生类只要重写方法。如果想复用基类逻辑时,可显式调用基类对应的函数。

A.正确 B.错误
6.

栈的 pop 操作返回栈顶元素并移除它。

A.正确 B.错误
7.

有一排香蕉,每个香蕉有不同的甜度值。小猴子想吃香蕉,但不能吃相邻的香蕉。以下代码能找到小猴子吃到最甜的香蕉组合。

A.正确 B.错误
8.

循环队列通过模运算循环使用空间。

A.正确 B.错误
9.

一棵有n个结点的二叉树一定有n-1条边。

A.正确 B.错误
10.

一个含有100个结点的完全二叉树,高度为 。

A.正确 B.错误

三、编程题

1.

试题名称:划分字符串

时间限制:3.0 s

内存限制:512.0 MB

2.

试题名称:货物运输

时间限制:1.0 s

内存限制:512.0 MB

公众号
客服 反馈
顶部