理论卷2025年3月GESP等级认证(Python) · 六级

GESP Python 6级 2025.03

满分 100 · 及格 60 · 时长 60 分钟 · 共 27 题 (单选15 / 判断10 / 编程题2)
试卷阅览 · 免费预览前 10 题 · 交卷后可查看答案与解析
1
单选题号 #9253
分值 2

在面向对象编程中,类是一种重要的概念。下面关于类的描述中,不正确的是

A

类是一个抽象的概念,用于描述具有相同属性和行为的对象集合。

B

类可以包含属性和方法,属性用于描述对象的状态,方法用于描述对象的行为。

C

类可以被实例化,生成具体的对象。

D

类一旦定义后,其属性和方法不能被修改或扩展。

2
单选题号 #9254
分值 2

哈夫曼编码是一种用于数据压缩的算法。以下关于哈夫曼编码的描述中,不正确的是

A

哈夫曼编码是一种变长编码,频率高的字符使用较短的编码,频率低的字符使用较长的编码。

B

在构造哈夫曼树时,频率越低的字符离根节点越近,频率越高的字符离根节点越远。

C

哈夫曼编码的生成过程基于贪心算法,每次选择频率最低的两个节点进行合并。

D

哈夫曼编码的生成过程基于贪心算法,每次选择频率最低的两个节点进行合并。

3
单选题号 #9255
分值 2

以下代码实现了树的哪种遍历方式?

class TreeNode:
 def __init__(self, val=0, left=None,right=None):
 self.val = val
 self.left = left
 self.right = right
def traverse(root):
 if root is None:
 return
 print(root.val, end=" ")
 traverse(root.left)
 traverse(root.right)

A

前序遍历

B

中序遍历

C

后序遍历

D

层次遍历

4
单选题号 #9256
分值 2

以下关于完全二叉树的代码描述,正确的是

from collections import deque
class TreeNode:
 def __init__(self, val=0, left=None, right=None):
 self.val = val
 self.left = left
 self.right = right
def is_complete_tree(root):
 if root is None:
 return True
 q = deque()
 q.append(root)
 has_null = False
 while q:
 node = q.popleft()
 if node is None:
 has_null = True
 else:
 if has_null:
 return False
 q.append(node.left)
 q.append(node.right)
 return True
A

该代码用于判断一棵树是否为满二叉树

B

该代码用于判断一棵树是否为完全二叉树

C

该代码用于判断一棵树是否为二叉搜索树

D

该代码用于计算树的高度

5
单选题号 #9257
分值 2

以下代码实现了二叉排序树的哪种操作?

class TreeNode:
 def __init__(self, val=0, left=None, right=None):
 self.val = val
 self.left = left
 self.right = right
def op(root, val):
 if root is None:
 return TreeNode(val)
 if val < root.val:
 root.left = op(root.left, val)
 else:
 root.right = op(root.right, val)
 return root
A

查找

B

插入

C

删除

D

遍历

6
单选题号 #9258
分值 2

给定字符集 {A, B, C, D} 的出现频率分别为 {5, 1, 6, 2} ,则正确的哈夫曼编码是

A

A: 0, B: 100, C: 11, D: 101

B

A: 11, B: 100, C: 0, D: 101

C

A: 0, B: 101, C: 11, D: 100

D

A: 10, B: 101, C: 0, D: 100

7
单选题号 #9259
分值 2

关于动态规划的描述,正确的是

A

动态规划算法的时间复杂度总是低于贪心算法。

B

动态规划要求问题必须具有最优子结构和重叠子问题两个性质。

C

动态规划通过递归实现时不需要存储中间结果。

D

动态规划的核心思想是将问题分解为互不重叠的子问题。

8
单选题号 #9260
分值 2

以下代码中,类的构造函数被调用了( )次

import copy
class MyClass:
 def __init__(self):
 print("Constructor called!")
if __name__ == "__main__":
 obj1 = MyClass()
 obj2 = copy.deepcopy(obj1)
A

1

B

2

C

3

D

0

9
单选题号 #9261
分值 2

以下代码中function1()实现了循环队列的哪种操作?

class CircularQueue:
 def __init__(self, k):
 self.size = k
 self.arr = [0] * k
 self.front = -1
 self.rear = -1
 def is_full(self):
 return (self.rear + 1) % self.size == self.front
 def is_empty(self):
 return self.front == -1
 def fuction1(self, value):
 if self.is_full():
 return False
 if self.is_empty():
 self.front = 0
 self.rear = (self.rear + 1) % self.size
 self.arr[self.rear] = value
 return True

A

入队

B

出队

C

查看队首元素

D

判断队列是否为空

10
单选题号 #9262
分值 2

以下代码实现了二叉树的深度优先搜索(DFS),并统计了叶子节点的数量。横线上应填写

class TreeNode:
 def __init__(self, val=0, left=None, right=None):
 self.val = val
 self.left = left
 self.right = right

def count_leaf_nodes(root):
 if root is None:
 return 0
 stack = []
 stack.append(root)
 count = 0

 while stack:
 node = stack.pop()
 if node.left is None and node.right is None:
 count += 1
 if node.right:
 stack.append(node.right)
 if node.left:
 _______________________
 return count

A

stack.append(node.left)

B

stack.append(node.right)

C

stack.delete(node.left)

D

stack.delete(node.right)

🔒

已解锁前 10 题

第 11~27 题(共 17 题)可在考试中作答
本卷为普通试卷:注册用户每题扣 1 积分(每日登录送 30 体验积分),交卷后查看答案与解析
海小星AI平台海小星AI平台

点亮AI梦想,编程未来之星。专业的青少年AI编程教育平台。

课程方向

  • AIGC人工智能
  • Scratch图形化
  • Python编程
  • C++/NOIP竞赛

联系我们

  • 北京市西城区万博苑7号楼3层F28室
  • +86-010-83553010
  • contact@seanova.cn

© 2026 海小星AI平台|京ICP备2022032747号

隐私政策服务条款