【问题标题】:topological sort subset of nodes in graph图中节点的拓扑排序子集
【发布时间】:2012-10-05 20:05:45
【问题描述】:

我有一个代表一组依赖关系的大图。用户可以指定他们想要使用一定数量的这些依赖项,我需要弄清楚使用它们的正确顺序(他们可能指定不直接相关的依赖节点,但通过图中的其他节点依赖) .

目前我正在通过运行图形的拓扑排序并在用户指定的所有节点都已排序后停止来实现这一点。但是,这不会导致所需的依赖项最少,我必须返回并尝试删除任何不需要的节点。

是否有更好的方法或已知算法来查找节点子集的拓扑排序?

【问题讨论】:

  • “不会产生所需的最小依赖”——这是什么意思?整个图的单一拓扑排序仍将满足该图的任何子集的依赖关系。

标签: c# algorithm graph-algorithm topological-sort


【解决方案1】:

最佳解决方案可能是构建一个仅包含用户选择的节点的新图,并适当分配依赖关系。例如,如果 A-->B-->C,用户选择 A 和 C,则您构建的图是 A-->C。然后做一个标准的拓扑排序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多