在dincis算法和Ford fulkerson中使用哪种最佳算法来解决最大流量问题?

时间:2019-03-29 14:16:35

标签: algorithm

在这些算法中,这将是解决最大流量问题的最有效算法

1 个答案:

答案 0 :(得分:1)

哪种算法是解决最大流量问题的最佳方法?

答案是:这取决于...

没有关于该图的任何信息:

  • Ford–Fulkerson算法 O(f * E)
  • Edmonds–Karp算法 O(V * E ^ 2)
  • Dinic的算法 O(V ^ 2 * E),但在实践中非常快

您必须根据问题的内存和时间限制选择使用哪个。

V:图形中的顶点数

E:图形中的边数

f:是图中的最大流量

二部图

此外,如果它是二部图,则您的实现可以为O(n * m)

n:集合A的基数

m:集合B的基数

竞争性编程:

在竞争性编程中, Dinic的算法是最有用的算法之一,因为它在实践中非常快。我解决的许多问题都是使用Dinic。尽管如果问题的约束力不强,则可以使用 Ford–Fulkerson 算法或 Edmonds–Karp算法比Dinic的算法快(编码时间也很重要)