算法2026-04-15
算法面试题:堆与优先队列
总结堆、优先队列、常见题型和算法应用。
算法面试题:堆与优先队列
1. 什么是堆?
- 堆是一种完全二叉树。
- 支持快速取最值。
- 常见实现:二叉堆。
2. 堆的常见应用有哪些?
- Top K 元素。
- 合并 K 个有序数组。
- 优先队列。
3. 堆与排序的关系是什么?
- 堆排序使用堆数据结构。
- 时间复杂度
O(n log n)。
4. 如何实现优先队列?
- 使用最小堆或最大堆。
- 插入和删除操作
O(log n)。
5. 面试常问的堆题有哪些?
- 滑动窗口最大值。
- 数据流中位数。
- 合并 K 个排序链表。
6. 如何判断是否需要用堆而不是排序?
- 只需要 Top K 或部分最值。
- 输入数据流持续增长。
- 需要动态更新最值。
算法堆优先队列