目录
贪心算法(Greedy Algorithm)是一种优化问题的算法范式,它通过每一步的局部最优选择来达到全局最优解。在每一步上做出当前情况下的最佳选择,而不考虑全局未来的影响。贪心算法通常比较简单、高效,并且适用于一些特定类型的问题。
基本思想:
1. 选择当前状态下的最优解。
2. 不考虑之前选择对未来的影响。
贪心算法的适用条件:
- 问题的最优解可以通过一系列局部最优选择得到。
- 不能回退(不能取消已经做出的选择)。
例子1:
找零钱问题
问题描述:
给定一些面额不同的硬币,要求用最少的硬币凑出某个金额。
算法步骤:
1. 对于每一个硬币,都选择尽量多的使用,直到超过目标金额。
2. 重复这个过程,直到凑出了目标金额。
代码:
def greedy