图中最长的非重复路径?

时间:2018-07-22 13:29:41

标签: graph-algorithm dijkstra directed-acyclic-graphs

我正在努力使用Dijkstra的算法在无向无环图中找到两个节点之间的最短路径。我想找到同一算法可能的最长路径。我也想避免一些边缘值为0的路线。如何使用Dijkstra的算法做到这一点?

现在,在搜索Stackoverflow之后,我遇到了一个给定的解决方案,该解决方案仅说明我们需要修改松弛部分以找到最长的路径。

赞:

date=$(date +%s) ### now
offset=300 #five minutes in seconds
newdate=$((date + offset)) ### added 300 seconds
date=$(date --date="@$newdate" "+%Y-%m-%d %T") ### got the new date in whatever format I chose.

但是我们不考虑添加if(distanceValueOfNodeA< EdgeValueofNodeBtoA ) { distanceValueOfNodeA = EdgeValueofNodeBtoA; }

但是对于最短路径,我们计算:

distanceValueOfNodeB

我们应该忽略distanceValueOfNodeA = distanceValueOfNodeB+EdgeValueofNodeBtoA 来计算distanceValueOfNodeB吗?

1 个答案:

答案 0 :(得分:1)

很抱歉让您失望,但是这个问题被称为Longest path in a graph,并且没有一种有效的算法可以解决该问题,因此可以对Djikstra算法进行任何修改。

它属于一类被称为NP-hard的问题,这些问题目前(目前)还没有一种算法能够以比指数更快的时间来解决。