CCF GESP 2024年9月认证 C++ 6级
二
判断题
第 1 题
C++、Python 和 JAVA 等都是面向对象的编程语言。
第 2 题
在 C++ 中,类的静态成员变量只能被该类对象的成员函数访问。
第 3 题
栈是一种线性结构,可通过数组或链表来实现。二者相比,数组实现占用的内存较少,链表实现的入队和出队操作的时间复杂度较低。
第 4 题
运行以下 C++ 代码,屏幕将输出 “derived class”。
#include <iostream>
using namespace std;
class base {
public:
virtual void show() {
cout << "base class" << endl;
}
};
class derived : public base {
public:
void show() override {
cout << "derived class" << endl;
}
};
int main() {
base* b;
derived d;
b = &d;
b->show();
return 0;
}
第 5 题
如下列代码所示的基类(base)及其派生类(derived),则生成一个派生类的对象时,只调用派生类的构造函数。
#include <iostream>
using namespace std;
class base {
public:
base() {
cout << "base constructor" << endl;
}
~base() {
cout << "base destructor" << endl;
}
};
class derived : public base {
public:
derived() {
cout << "derived constructor" << endl;
}
~derived() {
cout << "derived destructor" << endl;
}
};
第 6 题
哈夫曼编码本质上是一种贪心策略。
第 7 题
如果根结点的深度记为 $1$,则一棵恰有 $2024$ 个叶结点的二叉树的深度最少是 $12$。
第 8 题
在非递归实现的树的广度优先搜索中,通常使用栈来辅助实现。
第 9 题
状态转移方程是动态规划的核心,可以通过递推方式表示问题状态的变化。
第 10 题
应用动态规划算法时,识别并存储重叠子问题的解是必须的。
判断题部分已到底了。