解决任务之间依赖关系的最佳数据结构

best data structure to resolve dependencies between tasks

我正在为应该制造产品的机器人开发代码。 该过程由许多任务组成。每个任务可能依赖于也可能不依赖于其他任务。我想知道是否有比使用树更好的方法或者它是完美的数据结构。

我认为您的用例需要 directed acyclic graph

要确定任务的执行顺序,您可以在 DAG 上使用 topological sort

你也可以使用伴随集数据结构。通过使用 Union find,您可以解决依赖关系并找到有序路径。除此之外,从伴随集中添加或删除元素的时间复杂度为 O(1) 因此它将处理不断变化的需求