C#用递归算法解决经典背包问题

2019-12-30 12:55:10王旭

 

0 1 2 3 4 5 6 7 8 9 10 11 12
0 0 1 1 1 1 1 1 1 1 1 1 1

 

接下来处理物品1和物品2的子集,item2的大小为3,则只有cap=3的时候才能容纳item2,当cap=3的时候讲好能容纳item2,此时背包里面价值item2.value=4,且剩余空间为0,当cap=4的时候,能容纳item2,且剩余空间为1,不能容item1,当cap=5的时候,可以容纳item1+item2,此时的价值为1+4 =5,得到第二行

 

0 1 2 3 4 5 6 7 8 9 10 11 12
0 0 1 4 4 5 5 5 5 5 5 5 5