什么是贪心算法

参考:关于贪心算法,你该了解这些!

侵删

笔记:

  1. 什么是贪心?贪心的本质是选择每一阶段的局部最优,从而达到全局最优。这么说有点抽象,来举一个例子:例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿?指定每次拿最大的,最终结果就是拿走最大数额的钱。每次拿最大的就是局部最优,最后拿走最大数额的钱就是推出全局最优。
  2. 贪心算法并没有固定的套路。所以唯一的难点就是如何通过局部最优,推出整体最优。
  3. 面试中基本不会让面试者现场证明贪心的合理性,代码写出来跑过测试用例即可,或者自己能自圆其说理由就行了。
  4. 贪心算法一般分为如下四步:

    • 将问题分解为若干个子问题
    • 找出适合的贪心策略
    • 求解每一个子问题的最优解
    • 将局部最优解堆叠成全局最优解
  5.  
  6.  
posted @ 2021-10-10 16:14  旷野之息  阅读(186)  评论(0编辑  收藏  举报