我需要创建一个可以在图表中找到所有关键路径的算法。
我找到了节点的拓扑顺序,计算了每个节点的最早结束时间和最新开始时间。
此外,我找到了所有关键节点(即关键路径上的节点)。
问题在于将所有这些放在一起并实际打印出所有这些路径。如果图表中只有一条关键路径,那么我可以处理它,但是如果有多条路径则会出现问题。
例如,一个节点是几个关键路径的一部分,多个起始节点,多个终端节点等等。我还没有想出一个可以考虑所有这些因素的算法。
我正在寻找的输出是这样的(如果a,b,c等都是节点):
如果有人可以编写一个算法的描述,可以通过了解关键节点,拓扑顺序等来找到路径,或者也可能使用C或Java代码,这将是很好的。
编辑: 这是一个例子,它应该提供我之前发布的输出。关键路径为红色,每个节点的值标记在其上方或附近。
答案 0 :(得分:1)
最近开始时间的计算几乎也提供了关键路径。您需要从终端节点构造结果,然后向后转:
答案 1 :(得分:0)
我完全不明白你的问题:什么是关键路径?你可能会得到以下帮助: 用于计算Minimum Spanning Tree或Dijkstra's shortest path algorithm的算法 - 尽管您可能已经知道这些算法。