GESP 六级 · GESP 202412 C++ 六级 第 19 题

判断题 · 答案 A

← 整套速查表 GESP 六级 全部真题

题目

下面代码构建的树一定是完全二叉树:

struct TreeNode {
    int value;
    TreeNode* left;
    TreeNode* right;
};

TreeNode* buildCompleteBinaryTree() {
    TreeNode* root = new TreeNode{1};
    root->left = new TreeNode{2};
    root->right = new TreeNode{3};
    root->left->left = new TreeNode{4};
    root->left->right = new TreeNode{5};
    root->right->left = new TreeNode{6};
    return root;
}
答案:A

解题思维

仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。

常见错误

审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。

详细解析(节选)

1. 🎯 考纲定位

【考点】完全二叉树|层序遍历|二叉树构建

GESP 六级《数据结构与算法》模块必考概念辨析题。命题人专挑学生容易混淆的"完全二叉树"和"满二叉树"下刀——六级前两章刚学完遍历,第三章树结构里这类概念题就是用来筛掉只背定义没真懂的学生。

2. 🧠 解题思维

观察:代码里每条 new 对应一个节点,按顺序是根(1)→左(2)→右(3)→左左(4)→左右(5)→右左(6)。

验证:这个顺序正是层序遍历生成的节点序列。7 个节点按层序填入一棵二叉树,必然形成完全二叉树——这是完全二叉树的定义等价形式。

一般解法:判断任意二叉树是否完全,只需看层序遍历结果里,除最后几个节点外,是否所有节点都有左右孩子,且缺失的孩子只可能出现在末尾。

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断