找换硬币问题 与 0-1背包问题区别

之所以再写一篇Blog,是因为现实中很多问题都可以转化成“找换硬币”问题 和 “0-1”背包问题。因此,需要细细理解。

其次,在“参考资料”中汇总关于 贪心算法与动态规划的一些Blog及学习资料。

区别:

其实最大的区别就是:找换硬币问题中的 某类硬币 是可以多次选择的。而对于0-1背包问题,某物品要么选,要么不选,选了之后,它就“没了”。当然,有0-1背包问题的变形--完全背包问题--某(某类)物品有多个,可重复选。

第二,就是选择的权衡。0-1背包问题,还有个价值属性,在选择的时候,是考虑价值的最大化。重量相当于 cost, 而价值则是 value.

而对于 找硬币,则没有这么复杂。从这点看,找换硬币问题要简单一些。但是它聚焦于 用更少的硬币。所以 在考虑其他问题时,判断它是关注价值的最大化呢,还是 关注 最少数目。

 

参考资料:

硬币找零问题的动态规划实现

部分背包问题的贪心算法正确性证明

某种 找换硬币问题的贪心算法的正确性证明

从 活动选择问题 看动态规划和贪心算法的区别与联系

求解两个字符串的最长公共子序列

给定一个整数,求解该整数最少能用多少个Fib数字相加得到

《背包九讲》

https://www.zhihu.com/question/23995189  知乎上关于动态规划思想的讨论

posted @ 2016-06-11 17:06  大熊猫同学  阅读(1961)  评论(0编辑  收藏  举报