GESP 七级 · GESP 202312 C++ 七级 第 12 题

选择题 · 答案 C

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

题目

一棵完全二叉树有 $2023$ 个结点,则叶结点有多少个?( )

答案:C

解题思维

看到完全二叉树和节点总数,别想复杂遍历,直接抓住核心性质:最后一层节点数与倒数第二层的关系,用⌈n/2⌉公式秒杀。

常见错误

很多人死记硬背满二叉树公式(n+1)/2,完全二叉树虽然大部分情况数值一样,但节点数为奇数时,满二叉树公式会算多1个,而完全二叉树必须向上取整。比如2023个节点,(2023+1)/2=1012,看似一样,但如果是2022个节点,满二叉树公式得1011,完全二叉树也得1011,这时候容易混淆。更常见的坑是看到选项有1011、1013,就凭直觉选中间值,完全二叉树的叶节点数要么等于总节点数的一半(偶数时),要么比一半多1(奇数时),不可能出现其他情况。

详细解析(节选)

这道题考的是完全二叉树的叶结点计数,属于数据结构基础里树形结构的经典考点。命题人喜欢用大数字(2023)来掩盖简单逻辑,诱导考生去推导遍历或画图,其实完全二叉树有个铁律:叶结点个数等于⌈n/2⌉(n向上取整)。为什么?因为完全二叉树除了最后一层,前面都是满的,最后一层从左往右填。非叶结点一定在倒数第二层或更上层,每个非叶结点都带两个子结点,所以总叶结点 = (总节点数 + 1) / 2 向上取整。代入n=2023,计算⌈2023/2⌉=1012,选C。陷阱在于D项1011是n/2,卡住那些不记得“向上取整”的考生;A项1024像是完美二叉树的⌈n/2⌉却数值离谱;B项1013把n/2+1错当公式,偷换概念。最阴险的细节:“完全二叉树”≠“满二叉树”,满二叉树的叶结点确实是(n+1)/2,但完全二叉树要⌈n/2⌉,差一个取整逻辑。背结论不推公式,掉陷阱是必然的。从考频看,二叉树基础在题库共考过220题,覆盖8个考试级别,2023年考了20题,2024年60题,2025年67题,2026年28题,说明这类题近年热度持续上升,尤其在GESP七级和八级中占比很高(七级56题,八级19题)。NOIP普及组初赛也考了14题,说明初中阶段也是高频考点。基于数据,未来2026年下半年到2027年,完全二叉树叶结点计数仍可能出现在GESP七级或八级单选,甚至NOIP普及组,但大概率会换数字或加干扰项(如给偶数节点考n/2,或给非二叉树考公式崩塌)。暂无足够依据预测是否会改成多选或填空,因为现有数据全是单选/填空形式,未出现变体。总之,拿到完全二叉树题,先想⌈n/2⌉,别画图,别遍历,直接算。

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