int knapsack(i, k){
if(i=N){
val= 0; //end of recrusive
return val;
}
if (w[i]>k) // no space anymore
val= knapsack(i+1, k);
else {
a = knapsack(i+1, k) // i don't take with
b = knapsack(i+1, k-w[i]) + v[i]; //i take with
val= max(a,b);
}
return val;
}
我的问题是,在这种情况下N是什么?在我的程序变量我有重量,价值,maxweight和LinkedList。任何人都可以帮助我?谢谢了解recrusive背景中的伪代码
你得到这段代码的地方应该已经解释过了。 – Carcigenicate
不幸的是,我得到的代码没有准确的解释。只是这个评论:/ /计算索引我和更低的对象的大小为 // k的背包问题的最大值。 –
它甚至不是一块工作的Java代码。而且,在发布之前难以正确设置代码的格式? –