CCF GESP 2026年9月认证 Python 6级
所有 GESP 真题,手机上也能刷 · 自动判分 · 错题自动进错题本 扫码去刷
二
判断题
第 1 题
下面这段描述:代码可以运行时出错,编译器会自动为
Student 生成无参构造函数。class Student:
def __init__(self, x):
self.age = x
def main():
s = Student() # 尝试调用无参构造
main()
第 2 题
下面代码是合法的,派生类可以直接访问基类的私有成员
value 。class Base:
def __init__(self):
self.__value = 10
class Child(Base):
def get(self):
return self.__value
c = Child()
c.get()
第 3 题
下列代码执行后,输出结果为
30 。from collections import deque
q = deque()
q.append(10)
q.append(20)
q.append(30)
q.popleft()
print(q[0])
第 4 题
一棵完全二叉树按照从上到下、从左到右的顺序,将节点依次存储在数组
tree[1] 、tree[2] 、…… 中。若节点 tree[i] 存在左孩子,则其左孩子存储在 tree[2*i] 中。
第 5 题
对任意一棵左节点更⼩的二叉搜索树执行中序遍历,得到的关键字序列一定是非递减的。
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def inorder(root):
if not root:
return
inorder(root.left)
print(root.val, end=" ")
inorder(root.right)
第 6 题
从结点
start 出发运行下面代码访问一棵树;第一次抵达某个结点时经过的边数,一定是 start 到达该结点的最少边数。from collections import deque
# tree为邻接表
def search(start, tree):
n = 100
visited = [False] * n
dist = [0] * n
q = deque()
q.append(start)
visited[start] = True
dist[start] = 0
while q:
u = q.popleft()
for v in tree[u]:
if not visited[v]:
visited[v] = True
dist[v] = dist[u] + 1
q.append(v)
第 7 题
哈夫曼编码的生成过程基于贪心算法,出现频率越高的字符,其编码长度一定不会比出现频率更低的字符更长。
第 8 题
在
n 位格雷码中,任意两个编码之间都只相差一个二进制位。
第 9 题
下列一维 DP 代码实现的是完全背包问题,处理第
i 种物品时,同一件物品有可能被重复选取。for i in range(n):
w = weight[i]
while w <= W:
dp[w] = max(dp[w], dp[w - weight[i]] + value[i])
w += 1
第 10 题
下面递归函数可以算出正确的斐波那契数值,该代码时间复杂度与空间复杂度均为 $O(n)$。
def fib(n):
if n <= 1:
return n
return fib(n - 1) + fib(n - 2)
判断题部分已到底了。