当你需要从一个不断变化的集合中反复获取最大或最小元素时,堆是正确的数据结构。本阶段的问题涵盖三种堆模式:top-k 元素(维护大小为 k 的堆)、双堆(将数据集分成两半以跟踪中位数)和 k 路合并(使用单个堆合并多个有序序列)。如果你发现自己需要在新元素到达时反复排序,堆几乎总是更好的选择。熟练掌握堆操作并知道使用哪种变体是本阶段培养的主要技能。
用自己的话写下这一站的结论。