2025年6月CCF—GESP(Python六级)编程能力等级认证试卷
六级
2025
2026-07-13 14:52:04
46次
一、单选题
给定"个物品和一个最大承重为w的背包 ,每个物品有一个重量wuti和价值oalli ,每个物品只能选择放或不放 。 目标是选择若干个物品放入背包 ,使得总价值最大 ,且总重量不超过 。关于下面代码 ,说法正确的是 () 。
def knapsack1D(W: int, wt: list[int], val: list[int], n: int) -> int: dp = [0] * (W + 1) for i in range(n): for w in range(W, wt[i] - 1, -1): dp[w] = max(dp[w], dp[w - wt[i]] + val[i]) return dp[W]
| A. 该算法不能处理背包容量为 0 的情况 |
B. 外层循环 i 遍历背包容量, 内层遍历物品 |
| C. 从大到小遍历 w 是为了避免重复使用同一物品 |
D. 这段代码计算的是最小重量而非最大价值 |
【知识点】 CCF—GESP Python六级
请将下列 Python 实现的深度优先搜索(DFS)代码补充完整,横线处应填入( )

| A. result.append(root.val) dfs_preorder(root.left, result) dfs_preorder(root.right, result) |
B. result.append(root.val) dfs_preorder(root.left, result) |
| C. result.append(root.val) dfs_preorder(root.right, result) |
D. dfs_preorder(root.left, result) dfs_preorder(root.right, result) |
【知识点】 CCF—GESP Python六级






























