我正在尝试构建一个导航应用程序。我试图想出一种算法来找到包含某个节点并总和为某个权重的循环路径。该算法的输入将是一个节点和一个权重。
示例:algo(a,30) - 该算法将返回一条可以从节点 A 开始并在节点 A 结束的路径,其总和为 30。
额外信息:对于所有 w:weights w>0,图形是有方向的(就像街道一样)。
提前谢谢加尔
我正在尝试构建一个导航应用程序。我试图想出一种算法来找到包含某个节点并总和为某个权重的循环路径。该算法的输入将是一个节点和一个权重。
示例:algo(a,30) - 该算法将返回一条可以从节点 A 开始并在节点 A 结束的路径,其总和为 30。
额外信息:对于所有 w:weights w>0,图形是有方向的(就像街道一样)。
提前谢谢加尔
这个问题比哈密顿循环问题更强(更难) 。因为如果我们已经有这个问题的解决方案algo(a,b)
,对于任何哈密顿循环问题P ,我们可以设计一个新图,其中P中的边权重 = 1,边不为 0,然后使用algo(1,n)
找到一个哈密顿循环,其中n
是图中的节点。所以我们这里有一个NP完全问题。
对于小的应用程序,n
具有某些“修剪”的蛮力搜索应该足够快。