背包恢复解决方案的复杂性

时间:2016-01-07 14:53:17

标签: complexity-theory pseudocode memoization knapsack-problem

为了解决整数背包问题,我们使用了迭代记忆算法(通过n*w大小的矩阵,其中n是项目数,w是背包' s最大重量容量)。我们被要求使用矩阵恢复解决方案(插入到背包中的物品)。我们不确定还原算法的运行时复杂度。恢复伪代码如下(其中w(j)是项j的权重,v(j)是项j的值:)

**RestoreItems(M)**
 I is an empty set.
 j=n, T = W.
 while j>0 and T>0
     if M[j,T] = M[j-1,T]
         j=j-1
     if M[j,T] = M[j-1,T-w(j)] +v(j) and w(j) <= T
         I = I + j
         j = j-1
         T = T - w(j)
return I

0 个答案:

没有答案