一、什么是贪心?
重点:贪心的本质是选择每一阶段的局部最优,从而达到全局最优。
举例说明:
有一堆钞票,你可以拿走十张,如果想要拿到最大的金额,你会怎么拿?
每次拿最大的,最终结果就是拿走最大金额。
每次拿最大的就是局部最优,最后拿走最大金额就是推出全局最优。
二、什么时候用贪心(套路)
没有固定的套路,唯一的难点就是如何通过局部最优,推出整体最优。
那么怎么才能看出局部最优是否能推出整体最优?
也没有!靠直接手动模拟,如果模拟可行就可以试一试贪心策略,如果不可行,可能需要动态规划。
如何验证可不可以用贪心算法?
最好用的策略就是举反例,如果想不到反例,那么就试一试贪心。
三、贪心一边解题步骤
贪心算法一般分为如下四步:
- 将问题分解为若干个子问题
- 找出合适的贪心策略
- 求解每一个子问题的最优解
- 将局部最优解堆叠成全局最优解
贪心算法是一种解决问题的策略,通过每一步选择局部最优解来尝试达到全局最优。本文通过拿钞票的例子解释了贪心的本质,并指出在无法确定局部最优能否导出全局最优时,可以通过模拟和反例来验证。解题步骤包括问题分解、确定贪心策略、解决子问题和组合最优解。贪心算法适用于某些特定类型的问题,但并不总是适用。
653

被折叠的 条评论
为什么被折叠?



