原文链接:https://note.noxussj.top/?source=helloworld
什么是贪心算法?
贪心算法是算法设计的一种方法。期盼通过每个阶段的局部最优选择,从而达到全局的最优。但结果不一定是最优的。
基础案例
场景一
零钱兑换
现有硬币 1 元、2 元、5 元,需要用最少的硬币数量凑够 11 元。
利用贪心算法实现,优先考虑最好的结果就是面值为 5 元的硬币,11 = 5 + 5 + 1,一共使用了三枚硬币。
现有硬币 1 元、3 元、4 元,需要用最少的硬币数量凑够 6 元。
利用贪心算法实现,优先考虑最好的结果就是面值为 4 元的硬币,6 = 4 + 1 + 1,一共用了三枚硬币,虽然结果是对的,但是并不是最优的,因为用两枚 3 元硬币才是最优。