硬币变化:贪婪的方法

Coin Change : Greedy Approach

问题是用 25 美分、10 美分、5 美分和 1 便士改变 n 美分,并使用最少的硬币总数。在四种面额分别为四分之一、一角硬币、镍币和便士的特定情况下,我们有 c1 = 25、c2 = 10、c3 = 5 和 c4 = 1。

如果我们只有 25 美分、10 美分和便士(没有五分硬币) 可以使用, 贪心算法会用六个硬币 找零钱 30 美分——四分之一零五便士——而我们本可以使用 三个硬币,即三个角钱.

给定一组面额,我们如何判断贪心法是否创造了最优解?

您要问的是如何确定给定的硬币系统是否规范 来解决找零问题。如果贪心算法总是给出最优解,则系统是规范的。您可以通过有限的步骤确定包含 1 美分硬币的硬币系统是否规范。在 http://arxiv.org/pdf/0809.0400.pdf.

中可以找到详细信息和某些情况下更有效的算法