1. source codes
2. test result
3. solution
From: http://zh.wikipedia.org/zh/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98
0-1背包问题
类似的方法可以解决0-1背包问题 ,算法同样需要伪多项式时间 。我们同样假定w1 , ..., wn 和W 都是正数。我们将在总重量不超过Y 的前提下,前j 种物品的总价格所能达到的最高值定义为A (j , Y )。
A (j , Y )的递推关系为:
- A (0, Y ) = 0
- A (j , 0) = 0
- 如果wj > Y , A (j , Y ) = A (j - 1, Y )
- 如果wj ≤ Y , A (j , Y ) = max { A (j - 1, Y ), pj + A (j - 1, Y - wj ) }
通过计算A (n , W )即得到最终结果。为提高算法性能,我们把先前计算的结果存入表中。因此算法需要的时间和空间都为O(nW ),通过对算法的改进,空间的消耗可以降至O(W )。

本文详细介绍了0-1背包问题的解决方法,包括算法原理、递推关系、存储优化以及实例应用,旨在帮助读者理解并掌握该问题的解决策略。
2712

被折叠的 条评论
为什么被折叠?



