有向无环图的最小路径覆盖

路径覆盖定义:在有向无环图中,找出一些路径,使之覆盖图中的所有顶点,并且每个顶点的出度为1.

结论:1.一个单独的顶点是一条路径。

2.一个覆盖图中存在一条路径p1,p2,...pk,其中P1为起点,pk为终点,那么在该覆盖图中,顶点p1,p2...pk-1的出度为1,即不存在p1,p2...pk指向别的点的情况(覆盖图中)。

3.最小路径覆盖就是找出最小的路径条数,使之成为该有向无环图的一个路径覆盖。

有向无环图的最小路径覆盖可以通过匈牙利算法解决,注意必须是无环的情况下。

公式:最小路径覆盖=定点数-最大匹配数。

 

这里需要注意有向无环图的最小路径覆盖和无向图的最小路径覆盖的区别:

有向无环图:求的是最小的路径的条数。

无向图:求的是最小路径覆盖中的边数。


你可能感兴趣的:(算法)