CCF GESP 2025年3月认证 C++ 6级
二
判断题
第 1 题
哈夫曼树在构造过程中,每次合并权值最小的两个节点,最终生成的树带权路径长度最小。
第 2 题
格雷编码的相邻两个编码之间必须有多位不同,以避免数据传输错误。
第 3 题
在树的深度优先搜索(DFS)中,使用队列作为辅助数据结构以实现“先进后出”的访问顺序。
第 4 题
以下代码实现的是二叉树的中序遍历:
void traverse(TreeNode* root) {
if (root == nullptr) return;
traverse(root->left);
cout << root->val << " ";
traverse(root->right);
}
第 5 题
C++ 支持构造函数重载,但默认无参数的构造函数只能有一个。
第 6 题
二叉排序树(BST)中,若某节点的左子树为空,则该节点一定是树中的最小值节点。
第 7 题
在动态规划解决一维硬币找零问题时,若硬币面额为 $[1, 3, 4]$,目标金额为 $6$,则最少需要 2 枚硬币($3+3$)。
第 8 题
面向对象编程中,封装是指将数据和行为绑定在一起,并对外隐藏实现细节。
第 9 题
以下代码创建的树是一棵完全二叉树:
TreeNode* root = new TreeNode{1};
root->left = new TreeNode{2};
root->right = new TreeNode{3};
root->left->left = new TreeNode{4};
第 10 题
栈和队列均可以用双向链表实现,插入和删除操作的时间复杂度为 $O(1)$。
判断题部分已到底了。