GESP Python 7级 2026.06
下列 Python 代码的输出结果是( )。
import math
print(int(math.sqrt(50) + math.log2(8)))
10
9
11
12
在 Python 中,已导入 math 模块。下列关于数学库函数的说法,正确的是( )。
math.log2(32) 的返回值类型为 int
math.pow(2, 5) 的返回值类型一定为 int
math.sqrt(49) 的返回值可以参与浮点运算
math.sin(90) 的参数 90 表示 度
在 Python 中,关于函数参数传递的说法,正确的是( )。
函数形参和实参一定使用同一块内存
传对象引用时,在函数内修改形参一定会修改实参
传递可变对象(列表、字典等)时,在函数内修改对象内容会影响实参
函数参数不能用来修改外部数据
有 个字符,它们出现的次数分别为 、、、、。使用哈夫曼编码时,最小 WPL 为( )。
若 dpij 表示从网格 aij 左上角走到第 行第 列时能取得的最大数字和,且每次只能向右或向下移动。对于 且 的位置,正确的状态转移方程是( )。
dp[i][j] = a[i][j] + min(dp[i - 1][j], dp[i][j - 1])
dp[i][j] = max(dp[i - 1][j - 1], dp[i][j])
dp[i][j] = a[i][j] + max(dp[i - 1][j], dp[i][j - 1])
dp[i][j] = a[i][j] + dp[i - 1][j - 1]
已知 f0 = 0,f1 = 2,并且对 有 fi = maxfi 1, fi 2 + ai。若数组 a = 0, 2, 7, 9, 3, 1,则 f5 的值为( )。
下面代码是一维数组优化 0/1 背包的核心片段,横线处应填入( )。
for i in range(1, n + 1):
for c in range(W, w[i] - 1, -1):
__________
dp[c] = max(dp[c], dp[c + w[i]] + v[i])
dp[c] = min(dp[c], dp[c - w[i]] + v[i])
dp[c] = dp[c - w[i]] + v[i]
dp[c] = max(dp[c], dp[c - w[i]] + v[i])
下面程序片段主要体现的算法思想是( )。
def dfs(x, y):
vis[x][y] = True
for k in range(4):
nx = x + dx[k]
ny = y + dy[k]
if inside(nx, ny) and a[nx][ny] == 1 and not vis[nx][ny]:
dfs(nx, ny)
泛洪算法
贪心算法
二分查找
归并排序
下列关于排序稳定性的说法,正确的是( )。
选择排序一定是稳定排序
快速排序一定是稳定排序
冒泡排序在只交换相邻逆序元素时是稳定排序
稳定排序一定会改变相等元素的相对顺序
无向图的边为 。从顶点 开始进行 BFS,每次根据出队顶点,将与其相邻顶点按编号从小到大入队,则顶点 第一次入队时,队列的状态为( )。
1, 2, 3, 4
2, 3, 4
3, 4
3, 4, 5
