如何优化0/1背包的解决方案?

时间:2015-06-16 01:14:23

标签: algorithm knapsack-problem

标准背包问题解决方案是O(nW),我们将一次增加+1的权重以获得解决方案。

是否有任何方法可以解决背包问题,一次不需要增加重量+1。

e.g。我能想到的一种方法是将所有数字除以它的共同点

Capacity = 100 weights = [5, 10, 20] -> Capacity = 20 weights = [1, 2, 4]

1 个答案:

答案 0 :(得分:0)

仅以步长1递增权重仅对于自下而上的动态编程实现是必要的。如果你自上而下实现它,你可以在从剩余容量中减去当前项目的权重的同时进行递归调用。