我一整天都遇到了这个问题。
当我们在图中找到最长路径时,我们首先进行拓扑排序,然后检查相邻顶点的路径,并继续升级选择边缘权重的最大值或来自另一个顶点的备用路径。
因此,我们能够解决这个问题,因为拓扑排序只能用于非循环图。因此,只有非循环图才能解决这类问题。
因此,我们能够解决这个问题,因为拓扑排序只能用于非循环图。因此,只有非循环图才能解决这类问题。
现在,如果我提出另一个案例。如果所有边缘具有相同的权重并且我们不查看图形的循环,该怎么办?这是可以解决的吗?每当我想到这一点时,如果我们可以选择任何来源,考虑到我们必须选择最大节点数(最长路径),我不会看到任何拓扑排序的使用。
这也是NP Hard还是我们能解决这个问题吗?
PS:我经历了这个Longest acyclic path in a directed unweighted graph,但只有解算最长路径问题的算法。
答案 0 :(得分:0)
你不清楚“不在循环中”是什么意思,所以我假设你的意思是我们不考虑在最长路径中的一个循环中的顶点之间取边缘。在这种情况下,您可以将循环压缩为单个顶点,并使用上面描述的算法。