EXY-TF-0210
第 41 题
在动态规划问题中,状态空间相同且没有重复计算的情况下,“状态转移方程 + 递推”与“递归 + 记忆化搜索”的时间复杂度通常相同。
语言:
C++
GESP真题
六级
2026.3
判断题号:
10
EXY-TF-0209
第 42 题
下列代码实现了一个 0-1 背包的一维动态规划代码,内层循环是经典的逆序写法。若将内层循环改成正序遍历(即 for (int j = w[i]; j <= W; j++)),仍能得到正确答案。
int main() {
int W = 5;
int w[] = {2, 3, 4};
int v[] = {10, 1, 1};
int n = 3;
int dp[6] = {0};
for (int i = 0; i < n; i++) {
for (int j = W; j >= w[i]; j--) { // 逆序
dp[j] = max(dp[j], dp[j - w[i]] + v[i]);
}
}
cout << dp[W];
}
语言:
C++
GESP真题
六级
2026.3
判断题号:
9
EXY-TF-0208
第 43 题
设二叉树共有 n 个结点,函数 preorderTraversal 以下代码的时间复杂度为 O(n),空间复杂度为 O(n)。
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x): val(x), left(nullptr), right(nullptr) {}
};
void preorder(TreeNode *root, vector<int> &res) {
if (root == nullptr) {
return;
}
res.push_back(root->val);
preorder(root->left, res);
preorder(root->right, res);
}
vector<int> preorderTraversal(TreeNode *root) {
vector<int> res;
preorder(root, res);
return res;
}
语言:
C++
GESP真题
六级
2026.3
判断题号:
8
EXY-TF-0207
第 44 题
在 C++ 中使用栈来非递归地实现二叉树的前序遍历时,为了保证遍历顺序正确,在处理完当前结点后,应该先将该结点的左孩子压入栈中,然后再将右孩子压入栈中。
语言:
C++
GESP真题
六级
2026.3
判断题号:
7
EXY-TF-0206
第 45 题
在 C++ 中使用一维数组 vector<int> tree 存储按层序遍历的完全二叉树时,若根节点存储在 tree[0],则对于任意非空节点 tree[i],其右孩子(如果存在)必然位于 tree[2 * i + 2]。
语言:
C++
GESP真题
六级
2026.3
判断题号:
6
当前页显示 41 - 45
,共 250 道判断题