题号123456789101112131415
答案DBABBBBAAAAABCA
C++ 六级
2025 年 03 月
1单选题(每题 2 分,共 30 分)
第 1 题 在面向对象编程中,类是一种重要的概念。下面关于类的描述中,不正确的是( )。
A. 类是一个抽象的概念,用于描述具有相同属性和行为的对象集合。
B. 类可以包含属性和方法,属性用于描述对象的状态,方法用于描述对象的行为。
C. 类可以被实例化,生成具体的对象。
D. 类一旦定义后,其属性和方法不能被修改或扩展。
第 2 题 哈夫曼编码是一种数据压缩算法。以下关于哈夫曼编码的描述中,不正确的是( )。
A. 哈夫曼编码是一种变长编码,频率高的字符使用较短的编码,频率低的字符使用较长的编码。
B. 在构造哈夫曼树时,频率越低的字符离根节点越近,频率越高的字符离根节点越远。
C. 哈夫曼编码的生成过程基于贪心算法,每次选择频率最低的两个节点进行合并。
D. 哈夫曼编码是一种前缀编码,任何一个字符的编码都不会是另一个字符编码的前缀,因此可以实现唯一解
码。
第 3 题 以下代码实现了树的哪种遍历方式?
A. 前序遍历
B. 中序遍历
C. 后序遍历
D. 层次遍历
第 4 题 以下关于完全二叉树的代码描述,正确的是( )。
void traverse(TreeNode* root) {
if (root == nullptr) return;
cout << root->val << " ";
traverse(root->left);
traverse(root->right);
}
1
2
3
4
5
6
bool isCompleteTree(TreeNode* root) {1
A. 该代码用于判断一棵树是否为满二叉树
B. 该代码用于判断一棵树是否为完全二叉树
C. 该代码用于判断一棵树是否为二叉搜索树
D. 该代码用于计算树的高度
第 5 题 以下代码实现了二叉排序树的哪种操作?
A. 查找
B. 插入
C. 删除
D. 遍历
第 6 题 给定字符集 {A, B, C, D} 的出现频率分别为 {5, 1, 6, 2},则正确的哈夫曼编码是( )。
A. A: 0, B: 100, C: 11, D: 101
B. A: 11, B: 100, C: 0, D: 101
C. A: 0, B: 101, C: 11, D: 100
D. A: 10, B: 101, C: 0, D: 100
第 7 题 关于动态规划的描述,正确的是( )。
if (root == nullptr) return true;
queue<TreeNode*> q;
q.push(root);
bool hasNull = false;
while (!q.empty()) {
TreeNode* node = q.front();
q.pop();
if (node == nullptr) {
hasNull = true;
} else {
if (hasNull) return false;
q.push(node->left);
CCF GESP 2025年3月认证 C++ 6级试题