【发布时间】:2010-12-18 14:13:18
【问题描述】:
我需要创建一个可以在图中找到所有关键路径的算法。
我已经找到了节点的拓扑顺序,计算了每个节点的最早结束时间和最晚开始时间。
我还找到了所有关键节点(即位于关键路径上的节点)。
问题在于将它们放在一起并实际打印出所有这些路径。如果图中只有 1 个关键路径,那么我可以处理它,但如果有多个路径,问题就开始了。
例如,一个节点是多个关键路径的一部分、多个起始节点、多个结束节点等等。我还没有想出一个可以将所有这些因素都考虑在内的算法。
我正在寻找的输出是这样的(如果 a、b、c 等都是节点):
- a->e
- a->c->f->i->j->k
- a->c->g
- l->e
如果有人可以编写一个算法描述,该算法可以从知道关键节点、拓扑顺序等中找到路径,那就太好了。或者也可以用 C 或 java 代码。
编辑: 这是一个示例,它应该提供我之前发布的输出。关键路径为红色,每个节点的值都标在其上方或附近。
【问题讨论】:
-
你能提供一个完整的例子吗?带有预期结果和关键节点/路径的清晰定义的示例图?
-
好的,我为我的输出添加了示例图。