SorryToPerson logo
返回
算法2026-04-15

算法面试题:贪心算法

总结贪心策略、典型题型和适用场景的常见算法面试题。

算法面试题:贪心算法

1. 贪心算法的核心思想是什么?

  • 在每一步选择当前最优解。
  • 期望局部最优构成全局最优。
  • 需证明贪心策略的正确性。

2. 常见贪心算法题有哪些?

  • 活动选择问题。
  • 背包问题的贪心近似。
  • 最小生成树(Kruskal、Prim)。

3. 贪心算法与动态规划的差异是什么?

  • 贪心只考虑局部最优。
  • 动态规划考虑所有子问题。
  • 贪心更简单但不一定总是正确。

4. 你如何判断是否适合使用贪心?

  • 问题具有贪心选择性质。
  • 具有最优子结构并且子问题之间独立。

5. 为什么不能用贪心解决所有问题?

  • 局部最优不一定能导出全局最优。
  • 需要证明算法满足贪心性质。

6. 贪心算法常见的实现技巧是什么?

  • 先排序再遍历。
  • 使用优先队列维护最优选择。
  • 设计合适的贪心准则。

7. 你如何分析贪心算法的复杂度?

  • 分析排序、优先队列操作和遍历成本。
  • 常见复杂度为 O(n log n)。

8. 面试中如何解释贪心算法的正确性?

  • 给出反证法或交换论证。
  • 说明为什么不选择其他策略会导致更差结果。
算法贪心