#GESP260606T2. 【GESP26年6月六级】判断题(每题 2 分,共 20 分)

第 16 题 C++ 中构造函数可以声明为虚函数,从而实现运行时多态。( )

{{ select(16) }}

  • 对
  • 错

第 17 题 通过指向 Base 的指针删除 Derived 对象时,一定会先调用 Derived 的析构函数,再调用 Base 的析构函数。

#include <iostream>
using namespace std;

class Base {
public:
    ~Base() {
        cout << "Base destructor" << endl;
    }
};

class Derived : public Base {
public:
    ~Derived() {
        cout << "Derived destructor" << endl;
    }
};

int main() {
    Base* p = new Derived();
    delete p;
    return 0;
}

( )

{{ select(17) }}

  • 对
  • 错

第 18 题 在C++ STL 中,stack 的 pop() 函数会返回栈顶元素并将其删除。( )

{{ select(18) }}

  • 对
  • 错

第 19 题 程序运行后会输出 2 。

int main() {
    queue<int> q;
    q.push(1);
    q.push(2);
    q.push(3);
    q.pop();
    cout << q.front() << endl;
    return 0;
}

( )

{{ select(19) }}

  • 对
  • 错

第 20 题 下列函数试图将整数 x 插入到一棵二叉搜索树中。假设二叉搜索树满足如下性质:对于任意结点,左子树中所有结点的值均小于该结点的值,右子树中所有结点的值均大于或等于该结点的值。判断该函数是否能够在插入后保持二叉搜索树性质。

struct TreeNode {
    int val;
    TreeNode* left;
    TreeNode* right;
    TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};

TreeNode* insertNode(TreeNode* root, int x) {
    if (root == nullptr) {
        return new TreeNode(x);
    }

    if (x < root->val) {
        root->right = insertNode(root->right, x);
    } else {
        root->left = insertNode(root->left, x);
    }

    return root;
}

( )

{{ select(20) }}

  • 对
  • 错

第 21 题 哈夫曼编码一定是等长编码,且频率越高的字符编码越短。( )

{{ select(21) }}

  • 对
  • 错

第 22 题 有完全二叉树共有 n 个结点,其层数至少为 ⌈log₂(n + 1)⌉。则高度为 3 的满二叉树有 2³ - 1 = 7 个结点,但高度为 3 的完全二叉树最少有 2 × 3 - 1 = 5 个结点。( )

{{ select(22) }}

  • 对
  • 错

第 23 题 下列代码可以正确地按层序遍历输出二叉树的节点值。

void printLevelOrder(TreeNode* root) {
    if (!root) return;

    queue<TreeNode*> q;
    q.push(root);

    while (!q.empty()) {
        int sz = q.size();
        for (int i = 0; i < sz; ++i) {
            TreeNode* node = q.front();
            q.pop();
            if (cur->left) q.push(cur->left);
            if (cur->right) q.push(cur->right);
        }
        cout << endl;
    }
}

( )

{{ select(23) }}

  • 对
  • 错

第 24 题 模拟栈来进行二叉树的前序遍历时,若有节点出栈打印,需要先将它的右子节点入栈,再将左子节点入栈。( )

{{ select(24) }}

  • 对
  • 错

第 25 题 动态规划问题需要同时满足最优子结构和无后效性两个条件,并且还需要有重叠子问题。( )

{{ select(25) }}

  • 对
  • 错
Problem Info

#GESP260606T2. 【GESP26年6月六级】判断题(每题 2 分,共 20 分)

ID 10294
类型 客观题
尝试 0 已通过 0
难度 (无)
上传者
标签
GESP六级