硬币变化:贪婪的方法

时间:2015-05-09 10:35:33

标签: algorithm dynamic-programming greedy

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

如果我们只使用四分之一,硬币和硬币(并且没有镍币), 贪婪的算法会使用六个硬币 - 四分之一和五分钱来改变 30美分 - 而我们可以使用三个硬币,即三分钱。

鉴于一组面额,我们怎么能说贪婪方法是否能创造出最佳解决方案呢?

1 个答案:

答案 0 :(得分:1)

您所询问的是如何确定给定的硬币系统是否规范以应对变更问题。如果贪婪算法总是提供最优解,则系统是规范的。您可以通过有限数量的步骤来确定包含1美分的硬币系统是否规范。在http://arxiv.org/pdf/0809.0400.pdf中可以找到详细信息以及在某些情况下更有效的算法。