我有 4 个进程,其中进程依赖于其他进程。 例如:
x1:[x2,x3]
x2:[x3]
x3:[]
这意味着 x1 仅在 x2 和 x3 完成后才开始 x2 仅在 x3 完成时开始 x3 可以启动,因为它不依赖于任何其他进程。 我必须想出策略来找到流程的执行顺序。
解决这个问题的最佳方法是什么?
最佳答案
我想这很明显是 topological sorting用于解决依赖关系的图,这里我们需要创建一个有向图,其中节点作为您提到的过程。如果 x1 依赖于 x2,则存在从 x1 到 x2 的有向边,依此类推。创建图形后,对图形进行拓扑排序就是您的答案。
关于algorithm - 查找进程的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29667524/