找到 375 道单选题
EXY-SC-0210
第 166 题

以下关于动态规划的说法中,错误的是( )。

A

动态规划方法通常能列出递推公式。

B

动态规划方法的时间复杂度通常为状态的个数。

C

动态规划方法有递推和递归两种实现形式。

D

对很多问题,递推实现和递归实现动态规划方法的时间复杂度相当。

语言: C++
GESP真题 六级
2025.12
单选题号: 15
EXY-SC-0209
第 167 题

0/1 背包(每件物品最多选一次)问题通常可用一维动态规划求解,核心代码如下。则下面说法正确的是( )。

for each item (w, v):
    for (int j = W; j >= w; --j)
        dp[j] = max(dp[j], dp[j-w] + v);
A

内层 j 必须从小到大,否则会漏解

B

内层 j 必须从大到小,否则同一件物品会被用多次

C

j 从大到小或从小到大都一样

D

只要 dp 初始为 0,方向无所谓

语言: C++
GESP真题 六级
2025.12
单选题号: 14
EXY-SC-0208
第 168 题

在二叉排序树(Binary Search Tree, BST)中,假设节点值互不相同。给定如下搜索函数,以下说法一定正确的是( )。

bool find(Node* root, int x) {
    while (root) {
        if (root->val == x) return true;
        root = (x < root->val) ? root->left : root->right;
    }
    return false;
}
A

最坏情况下,访问结点数是 O(log⁡n)

B

最坏情况下,访问结点数是 O(n)

C

无论如何,访问结点数都不超过树高的一半

D

一定比在普通二叉树中搜索快

语言: C++
GESP真题 六级
2025.12
单选题号: 13
EXY-SC-0207
第 169 题

给定一棵普通二叉树(节点值没有大小规律),下面代码判断是否存在值为 x 的结点,则横线处应填入( )。

struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(int x): val(x), left(nullptr), right(nullptr) {}
};
 
TreeNode* bfsFind(TreeNode* root, int x) {
    if (!root) return nullptr;
 
    queue<TreeNode*> q;
    q.push(root);
 
    while (!q.empty()) {
        TreeNode* cur = q.front(); q.pop();
        if (cur->val == x) return cur;
        __________________
    }
    return nullptr;
}
A

q.push(cur);

B

if (cur->right) q.push(cur->right);

C

if (cur->left)

q.push(cur->left);

if (cur->right)

q.push(cur->right);

D

q.push(cur->left);

q.push(cur->right);

语言: C++
GESP真题 六级
2025.12
单选题号: 12
EXY-SC-0206
第 170 题

下列代码实现了树的深度优先遍历,则横线处应填入( )。

struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(int x): val(x), left(nullptr), right(nullptr) {}
};
 
void dfs(TreeNode* root) {
    if (!root) return;
    stack<TreeNode*> st;
    st.push(root);
    while (!st.empty()) {
        TreeNode* node = st.top(); st.pop();
        cout << node->val << " ";
        if (node->right) st.push(node->right);
        ___________________
    }
}
A

if (node->left) st.push(node->left);

B

if (node->left) st.pop(node->left);

C

if (node->left) st.front(node->left);

D

if (node->left) st.push(node->right);

语言: C++
GESP真题 六级
2025.12
单选题号: 11
当前页显示 166 - 170 ,共 375 道单选题