我有一个有向图,其顶点有成本。我想在两个顶点之间找到最大成本的路径,但我只找到了以最低成本解决路径的算法。
另外,我正在使用Java。
答案 0 :(得分:5)
生成的路径是原始图表上的最大成本路径。
答案 1 :(得分:2)
只需修改所用算法的评估函数即可。如果对于最短路径,函数会为较短路径返回更大的值,在您的情况下,您希望为较短路径返回较小的值。
答案 2 :(得分:0)
这是Longest path problem,它(假设您正在寻找简单路径,即多次未访问任何节点的路径)是NP难的,这意味着没有算法可以除非P = NP,否则以多项式计算存在。证明与Hamiltonian path problem有关,this也是NP-hard。寻找不简单的路径没有多大意义,因为您可以不断以正成本循环遍历一个循环,从而产生无限的总成本。
如果您为此感到难过,请听Critical path method。
但是,您有向无环图(DAG),有一种使用拓扑排序的方法,相关链接的Wikipedia文章对此进行了说明。这个问题与用于安排一组项目活动的would not propagate to the parent containers有关。