Graph 线性时间有向无环无权图的最长路径

Graph 线性时间有向无环无权图的最长路径,graph,directed-acyclic-graphs,Graph,Directed Acyclic Graphs,我如何在线性时间中找到像这样的图中的最长路径: 3->2 4->3 2->5 我知道这里最长的路径是4->3->2,所以它有3个路径,但我不知道如何在O(N)时间内找到它。请帮忙。 提前感谢。对图形进行顶部排序,并按拓扑排序顺序拾取顶点 For each vertex u For each edge (u,v) if(d[v] < d[u] + weight(u,v)) d[v] = d[u] + weight(u,v) 对于每个顶点u 对于每

我如何在线性时间中找到像这样的图中的最长路径:

3->2

4->3

2->5

我知道这里最长的路径是4->3->2,所以它有3个路径,但我不知道如何在O(N)时间内找到它。请帮忙。
提前感谢。

对图形进行顶部排序,并按拓扑排序顺序拾取顶点

For each vertex u
    For each edge (u,v)
       if(d[v] < d[u] + weight(u,v))
          d[v] = d[u] + weight(u,v) 
对于每个顶点u
对于每条边(u、v)
如果(d[v]
其中,d[u]对于任何顶点u,是距离源的最长距离。对于每个顶点u,d[u]初始化为最小值,d[source]=0


由于它是一个DAG,因此我们只需遍历和松弛每条边一次。它基本上是最长路径的简化Bellman-Ford算法

有关堆栈溢出的问题应与常见问题解答中定义的范围内的编程或软件开发相关。这似乎离题了。