如何从拓扑排序的节点恢复DAG?

时间:2015-01-26 10:03:44

标签: algorithm graph graph-algorithm

我有一个节点列表,它们是某些DAG的拓扑类型。我想恢复DAG - 它没有必要成为原始DAG - 具有以下属性:

  • 它可能有多个组件。
  • 如果A和B之间有中间节点,那么就不能是A和B之间的直接边缘。

此外,还有一个具有恒定时间复杂度的函数f(Node1, Node2)返回:

    如果可以从Node1到达Node2,则
  • -1
  • 0如果Node1和Node2没有公共根节点。
  • 如果可以从Node2到达Node1,则
  • 1

因此,如果f()返回非零值,则节点应以某种方式连接。


提出具有最小时间复杂度的算法的答案将被接受。


P.S。我可能会更新DAG属性以排除一些微不足道的案例。

0 个答案:

没有答案