Java实现01背包问题的简单思路

0-1背包问题:

        给定N件物品和一个容量为V的背包。放入第i件物品耗费的空间为weight[i] ,得到的价值是 value[i] 。

        问:哪些物品装入背包可使价值总和最大?最大是多少?

解题思路:

假设背包容量为8,有五间物品分别如下:

物品重量价值
16公斤48元
21公斤7元
35公斤40元
42公斤12元
51公斤8元

面对每个物品,我们只有选择拿与不拿两种选择,不能够选择装入物品的一部分,也不能装入同一物品多次。

重量价值12345678
64800000484848
1777777485555
540777740485555
212712191940485560
18815202740485663

用简单的一维数组来写,方便大家理解

看代码吧!!!

 

 

 

 


版权声明:本文为hdushsh原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。