【问题标题】:How to traverse all nodes of a Directed Acyclic Graph in a specific order?如何按特定顺序遍历有向无环图的所有节点?
【发布时间】:2019-02-10 11:44:47
【问题描述】:

我有一个问题,我需要按特定顺序遍历有向无环图的所有节点,因为某些节点/顶点依赖于多个其他节点/顶点的结果。

在这种情况下,DFS 或 BFS 将不起作用。

像这样遍历 DAG 的解决方案/算法/线程是什么?

我也应该订购节点吗?例如:那个不依赖于其他任何东西的节点 - 首先是节点 A,然后是节点 B,然后是 C(取决于节点 A 和节点 B).. 事先?

【问题讨论】:

  • 我们必须知道您所说的具体顺序,但如果某些节点依赖于其他节点,则表明您可能正在寻找节点的拓扑排序。
  • 需要更多的信息,比如B在A中的依赖的本质是什么,更重要的是在遍历之前知道依赖。考虑minimal reproducible example

标签: graph directed-acyclic-graphs


【解决方案1】:

答案是拓扑排序,可以使用

  • 卡恩算法
  • 深度优先搜索或
  • 并行算法

谢谢@烧杯

【讨论】:

    猜你喜欢
    • 2015-04-19
    • 2010-10-18
    • 2018-09-04
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多