小编Kev*_* Le的帖子

打印输出结果为0/1 KnapSack(递归蛮力)

public static int KnapSack(int capacity, Item[] items, int numItems) {
    if (numItems == 0 || capacity == 0)
        return 0;
    if (items[numItems-1].weight > capacity)
        return KnapSack(capacity, items, numItems-1);
    else {
        int took = items[numItems-1].value + KnapSack(capacity - items[numItems-1].weight, items, numItems-1);
        int left = KnapSack(capacity, items, numItems-1);
        return Math.max(took, left);
    }     
}  
Run Code Online (Sandbox Code Playgroud)

所以我有一个工作的0/1递归强力算法为KnapSack问题工作.我想知道打印出工作解决方案的方法是什么(即从项目集中收集到背包里的物品).我已经尝试了很多东西,例如添加到列表中并尝试跟踪我添加的内容,但是没有一个可以解决实现或设计问题.所以我来这里寻求帮助,谢谢!

java recursion knapsack-problem

5
推荐指数
1
解决办法
4045
查看次数

标签 统计

java ×1

knapsack-problem ×1

recursion ×1