贪心法是一种不追求最优解,只希望得到较为满意的解的方法。贪心法一般可以快速得到满意的解。
因为它省去了为找最优解要穷尽所有可能解而必须耗费的大量时间。
贪心法常以当前情况为基础作最有选择,而不考虑各种可能的整体情况,所以贪心法不要回溯。
例子:
平时购物找钱时,为使找回的零钱硬币最少,不考虑找零钱所有的各种方案,而是从最大面值
的币种开始,按递减的顺序考虑各种币种,先尽量使用大面值的币种。当不足大面值币种的金额时才
去考虑下一种比较小面值的币值。这就是采用贪心法。这种方法在这里总是最优,是因为银行对其发行的
硬币种类和硬币面值的巧妙安排。
如果只有面值分别为1,5,11单位的硬币,而希望找回总额为15单位的硬币。
按贪心法,应该1个11单位面值的硬币和4个1单位面值的硬币。共找回5个硬币。
但最优的解答是3个5单位面值的硬币。
装箱问题、马踏棋盘问题是贪心法的典型应用场合。