SorryToPerson logo
返回
算法2026-04-15

算法面试题:堆与优先队列

总结堆、优先队列、常见题型和算法应用。

算法面试题:堆与优先队列

1. 什么是堆?

  • 堆是一种完全二叉树。
  • 支持快速取最值。
  • 常见实现:二叉堆。

2. 堆的常见应用有哪些?

  • Top K 元素。
  • 合并 K 个有序数组。
  • 优先队列。

3. 堆与排序的关系是什么?

  • 堆排序使用堆数据结构。
  • 时间复杂度 O(n log n)

4. 如何实现优先队列?

  • 使用最小堆或最大堆。
  • 插入和删除操作 O(log n)

5. 面试常问的堆题有哪些?

  • 滑动窗口最大值。
  • 数据流中位数。
  • 合并 K 个排序链表。

6. 如何判断是否需要用堆而不是排序?

  • 只需要 Top K 或部分最值。
  • 输入数据流持续增长。
  • 需要动态更新最值。
算法优先队列