以最少的步骤破坏图

时间:2018-12-11 18:54:42

标签: algorithm data-structures graph graph-theory directed-graph

存在一个有N个顶点和M个边的有向无环图。目的是通过最小步数删除所有顶点来破坏图。


一步删除规则:

  1. 最多可以删除2个顶点。
  2. 仅当顶点与任何未删除的顶点之间没有边时,才能删除该顶点。
  3. 如果一步删除了两个顶点,则它们之间一定不能有边。

约束:N,M <= 10 ^ 6,并且图没有自环和环。

1 个答案:

答案 0 :(得分:3)

HAROLD N. GABOW的“两处理器调度的几乎线性算法”给出了一种算法。 pdf here

基本思想是将顶点排序为最小级别(每个级别是如果忽略约束1可以同时删除的所有顶点),然后首先从最高级别删除这些顶点。 / p>

本文提供了更多细节和最优性证明。

编辑

要查看调度与给定问题之间的关系,请考虑调度一组作业。每个作业对应一个顶点。作业的依赖关系对应于有向边。

约束2/3对应于说只有在所有依赖项都已调度后才能调度作业。

约束1相当于说一次只能调度两个作业(即两个处理器的调度系统)。