未连接的有向图顶点的最大子集的大小?

时间:2012-10-19 10:15:11

标签: algorithm

给定有向图,如何找到最大子点的大小,使得其中没有两个通过有向路径连接?

这个问题(或解决它的算法)是否有一个共同的名称?

提示:“根据Dilworth的定理,这个问题实际上相当于计算传递闭包后DAG上链的最小数量。因此,这个问题可以减少到最大匹配在二分图上。“)

1 个答案:

答案 0 :(得分:0)

我不知道这个名字,我想这是Disjoint-set data structure

的子问题

使用Union Find,您可以确定所有连接的图形。

最初,每个节点都在其组中。检查每个节点并将其所有直接子节点添加到节点的组根节点。这是基本的联盟查找。

然后,最大的子集由每个组中的一个顶点组成。

在最坏的情况下,当每个节点连接到所有其他节点时,这应该采用O(n²),因为每次节点都会被检查。