CSP-S 提高级 · CSP 2025 提高级第一轮 第 12 题

选择题 · 答案 A · 考点:堆(Heap)

← 整套速查表 CSP-S 提高级 全部真题

题目

在一个初始为空的最小堆(min-heap)中,依次插入元素 $20, 12, 15, 8, 10, 5$。然后连续执行两次“删除最小值”(delete-min)操作。请问此时堆顶元素是什么?

答案:A

考点

堆(Heap) 讲解 →堆(Heap) 真题汇总 →

解题思维

这道题考最小堆的插入上浮和删除下沉。拿到题先按顺序模拟插入,插完再删两次最小值,每次删完记得把新的堆顶下沉到合法位置,最后看堆顶是谁。

常见错误

很多同学容易把下沉搞错方向,最小堆下沉时不是随便找个子节点换,而是要找两个子节点里较小那个去换,不然堆性质就破了。还有的同学在插入时忘了上浮,或者删除后没把末尾元素补到堆顶,导致堆结构乱套,最后算出的堆顶可能变成15甚至20,这都是因为中间步骤漏了或做反了。

详细解析(节选)

考察知识点

数据结构 — 堆 (Heap)

概念定义

逐步推导

依次插入:

1. 插入 20 → [20] 2. 插入 12 → [12, 20](12 上浮) 3. 插入 15 → [12, 20, 15](不动) 4. 插入 8 → [8, 12, 15, 20](8 上浮两次) 5. 插入 10 → [8, 10, 15, 20, 12](10 上浮一次) 6. 插入 5 → [5, 10, 8, 20, 12, 15](5 上浮两次)

第一次 delete-min:

第二次 delete-min:

堆顶元素为 10。

避坑指南

下沉时是比较较小的子节点并与之交换(确保交换后父节点 ≤ 两个子节点),不是任意一个子节点。

技巧总结

堆的模拟题是常考题型。插入 = 尾添 + 上浮。删除 = 顶尾交换 + 下沉。下沉时与较小子节点交换(最小堆)。

考频与趋势

堆在题库中共考过 21 题,覆盖 7 个考试级别。从历年分布看,2026 年考了 9 题,2025 年考了 3 题,2023 年考了 3 题,2021 年考了 1 题,2010 年考了 1 题,2007 年考了 1 题。在赛事分布上,CSP 提高级考了 7 题,CSP 入门级考了 6 题,NOIP 提高组初赛考了 2 题,GESP 各等级也均有涉及。数据表明堆是高频考点,且近年考频有上升趋势。

预测

基于 2026 年高达 9 题的考频和 CSP 提高级近年对基础数据结构的重视,预计未来两年堆相关题目仍会保持较高频率,可能继续以模拟操作或结合优先队列的应用题形式出现。暂无足够依据预测具体题型变化,但堆的基础操作(插入、删除、建堆)几乎必考。

同考点真题

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