01背包问题:
描述一个旅行者有一个最多能用M公斤的背包,现在有N件物品,
它们的重量分别是W1,W2,...,Wn,
它们的价值分别为V1,V2,...,Vn.
若每种物品只能往背包里装一件,求能获得最大价值。
下面这个例子表格,是从其他地方转的,对理解这个问题很有帮助
表格黄色部分的每个值都是最优值,所以后面通过前面累加起来的值也是最优值。
代码如下:
以上代码参考自:http://www.cnblogs.com/zyobi/archive/2009/06/22/1508730.html,感谢这位作者,我也编译运行过,没问题。
拿上面的代码对照上面的图就很容易理解这个算法了。