algorithm - 查找进程的执行顺序

标签 algorithm graph process

我有 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/

相关文章:

algorithm - worker 调度算法

recursion - Gremlin 查询以查找特定节点以任何方式连接到的整个子图

java - 使用 Union-Find 实现 Karger 最小割算法的问题

c# - 使用 System.Diagnostics.Process 运行 vb 脚本,但仅部分成功地将输入文本输入到进程的标准输入

java - 结束 Mac OS X 上正在使用该文件的进程

algorithm - 给定一个指向二叉树中节点的指针和一个根指针,打印距给定节点距离为 k 的所有节点

c - 单线程模式下并行合并非常慢

.net - 是否可以将 .NET System.Diagnostics.Process 对象附加到正在运行的进程?

algorithm - A* 算法以及 F 和 G 启发式算法的使用

algorithm - 当我想检查一组的所有可能组合时,我使用什么技术?