贪心算法

贪心法是一种不追求最优解,只希望得到较为满意的解的方法。贪心法一般可以快速得到满意的解。

因为它省去了为找最优解要穷尽所有可能解而必须耗费的大量时间。


贪心法常以当前情况为基础作最有选择,而不考虑各种可能的整体情况,所以贪心法不要回溯。


例子:

平时购物找钱时,为使找回的零钱硬币最少,不考虑找零钱所有的各种方案,而是从最大面值

的币种开始,按递减的顺序考虑各种币种,先尽量使用大面值的币种。当不足大面值币种的金额时才

去考虑下一种比较小面值的币值。这就是采用贪心法。这种方法在这里总是最优,是因为银行对其发行的

硬币种类和硬币面值的巧妙安排。


如果只有面值分别为1,5,11单位的硬币,而希望找回总额为15单位的硬币。

按贪心法,应该1个11单位面值的硬币和4个1单位面值的硬币。共找回5个硬币。

但最优的解答是3个5单位面值的硬币。


装箱问题、马踏棋盘问题是贪心法的典型应用场合。

你可能感兴趣的:(贪心算法)