堆与优先队列 高频追问 Q&A
A: 堆顶保存当前 TopK 里最小值,新元素只需与堆顶比较即可决定替换。(深入阅读:TopK 小顶堆实战)
约 1 分钟
堆与优先队列 高频追问 Q&A
1. Q: TopK 为什么常用小顶堆?
A: 堆顶保存当前 TopK 里最小值,新元素只需与堆顶比较即可决定替换。(深入阅读:TopK 小顶堆实战)
2. Q: 堆和有序数组怎么选?
A: 动态维护最值选堆;一次性排序并频繁遍历选有序数组。(深入阅读:堆与优先队列基础知识速览、TopK 小顶堆实战)
3. Q: 优先队列底层一定是堆吗?
A: 常见实现是堆,也可以用平衡树等结构。(深入阅读:堆与优先队列基础知识速览)
4. Q: 堆插入和删除复杂度?
A: 均为 O(log n),取堆顶 O(1)。(深入阅读:堆与优先队列基础知识速览)
5. Q: 面试写堆题最容易错哪?
A: 比较器方向(大顶/小顶)和边界条件(空堆、单元素)。(深入阅读:TopK 小顶堆实战)