到达DAG中所有节点的最小节点子集

时间:2019-03-12 06:20:51

标签: algorithm

假设我们有一个包含节点A,B,C,D和E的列表的DAG。

每个节点都有一个可达节点的列表-例如:

A --> B, C
A --> B
D --> E

在这种情况下,我们将不得不访问节点A和D以全面访问图中的所有节点。一般来说,解决此问题的最佳算法是什么?

1 个答案:

答案 0 :(得分:2)

这是一种线性方法:

  1. 对每个节点计数其度数(指向它的边数)
  2. 因为图是DAG(无周期),所以我们可以将度数为0的所有节点作为起始子集

时间复杂度(N + M)-图形大小呈线性