背包算法上的堆栈溢出

时间:2018-11-30 00:26:05

标签: graph maze knapsack-problem

我正在尝试实施背包问题的应用程序,但是却出现堆栈溢出,无法弄清我要去哪里。

public static int knapsack(int bound, Node u, Node end, int len){
    if(bound == 0 || u == end) return 0;

    for(Node w : u.getNeighbors()) {
        if(len + w.getEdge(u).length > bound)
            return knapsack(bound, w, end, len);
        return Integer.max(w.getTile().coins() + knapsack(bound - w.getEdge(u).length,w,end, len + w.getEdge(u).length), knapsack(bound, w,end, len));
    }

    return 0;
}

基本上有一个用图表示的迷宫(迷宫中的相邻节点是邻居)。

bound是要离开的最大移动次数。节点u是当前节点,end是出口节点。 len是路径上距离的总和。

请让我知道我要去哪里。谢谢

0 个答案:

没有答案