CCF GESP 2026年9月认证 Python 6级
所有 GESP 真题,手机上也能刷 · 自动判分 · 错题自动进错题本 扫码去刷
一
单选题
第 1 题
下列代码执行后的输出结果是( )。
class Animal:
def speak(self):
print("Animal ", end="")
class Cat(Animal):
def speak(self):
print("Cat ", end="")
def main():
p: Animal = Cat()
p.speak()
main()
第 2 题
下列代码横线处填写哪一项,才可以正确调用父类的带参数构造函数( )
class Machine:
def __init__(self, s):
self.id = s
class Robot(Machine):
def __init__(self, s, n):
_______________
self.level = n
第 3 题
下列代码执行后的输出顺序是( )。
class Base:
def __init__(self):
print("B ", end="")
def __del__(self):
print("~B ", end="")
class Derived(Base):
def __init__(self):
super().__init__()
print("D ", end="")
def __del__(self):
print("~D ", end="")
def main():
p = Derived()
del p
main()
第 4 题
下列代码执行后的输出结果是( )。
s = []
q = []
for i in range(2,7,2):
s.append(i)
q.append(i)
s.pop()
q.pop(0)
print(s[-1], q[0])
第 5 题
下面循环队列采用牺牲一个存储单元(空出一个位置)的方法区分队空与队满,
full() 函数判断队列是否已满,横线处应填写( )。MAXN = 8
data = [0] * MAXN
front = 0
rear = 0
def full():
return _______________
第 6 题
下列函数属于二叉树哪一种遍历( )
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def visit(root):
if root is None:
return
visit(root.left)
print(root.val, end=" ")
visit(root.right)
第 7 题
已知一棵二叉树的先序遍历序列为
A B D E C F ,中序遍历序列为 D B E A C F ,则其后序遍历序列是 ( )。
第 8 题
下面函数用来计算二叉树的高度,横线处应填写( )。
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def height(root):
if root is None:
return 0
leftH = height(root.left)
rightH = height(root.right)
return _______________
第 9 题
下面代码实现二叉树深度优先搜索(迭代版前序遍历),横线处应当填写( )。
class TreeNode:
def __init__(self, val):
self.value = val
self.left = None
self.right = None
def dfs(root):
if root is None:
return
s = []
s.append(root)
while len(s) > 0:
node = s.pop()
print(node.value, end=" ")
# --------此处填空--------
第 10 题
下面函数用于在二叉搜索树里面查找数值 x ,横线处应当填写( )。
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def searchBST(root, x):
if root is None or root.val == x:
return root
if x < root.val:
return searchBST(root.left, x)
return _______________
第 11 题
有 5 个字符,其出现频率分别为
{2, 4, 5, 9, 12} 。按哈夫曼算法构造编码树,其最小带权路径长度 WPL 为( )。
第 12 题
下面代码使用反射法生成
n 位格雷编码,横线处应该填写( )def gray(n):
ans = ["0", "1"]
for bit in range(2, n + 1):
oldSize = len(ans)
for i in range(oldSize - 1, -1, -1):
ans.append(_______________)
for i in range(oldSize):
ans[i] = "0" + ans[i]
return ans
第 13 题
下面代码计算爬到第
n 级台阶的方案数,每次可以跨 1 级或者 2 级台阶,横线处应填写( )。def ways(n):
if n <= 2:
return n
dp = [0] * (n + 1)
dp[1] = 1
dp[2] = 2
for i in range(3, n + 1):
dp[i] = _______________
return dp[n]
第 14 题
代码求解:从包含非负元素的数组选取若干互不相邻的元素,得到最大和,横线处填写( )
def maxSum(a):
n = len(a)
if n == 0:
return 0
if n == 1:
return a[0]
dp = [0] * n
dp[0] = a[0]
dp[1] = max(a[0], a[1])
for i in range(2, n):
dp[i] = _______________
return dp[-1]
第 15 题
下面是一维数组实现的 0/1 背包,内层循环必须从大到小枚举容量,主要原因是( )
# n物品数量,W背包总容量
for i in range(n):
w = W
while w >= weight[i]:
dp[w] = max(dp[w], dp[w - weight[i]] + value[i])
w -= 1
单选题部分已到底了。