具有多个源顶点的边缘加权DAG中的最短路径?

时间:2019-08-21 16:42:35

标签: algorithm graph-algorithm

给出算法A,该算法使用非负边缘权重从DAG G中的源顶点s计算最长路径。运行算法A以在DAG G中找到最长路径的最少次数是多少?

一种方法是找出多个源顶点,这可以在O(| Edges |)中实现。然后将这些顶点中的每一个作为源顶点运行算法A。这将需要运行算法A NumberOfSourceVertices次。

我们可以做得更好吗?

1 个答案:

答案 0 :(得分:3)

是的,我们可以做得更好。将新节点z添加到G。对于每个标识的源顶点s,将边(z, s, 0)(零边权重)添加到G。

在修改后的A上运行G 一次