无论寻找增强路径的时间复杂度如何,Ford-Fulkerson算法都在O(| E |)迭代内终止

时间:2014-04-13 14:00:25

标签: algorithm max-flow ford-fulkerson

Ford Fulkerson算法将在O(| E | f)时间运行,其中f是最大流量;但有没有办法让它运行O(| E |)?

使其运行小于O(| E | f)的解决方案之一是通过使用加权最短路径问题等使用与查找路径相关的内容来选择允许流量最大增加的扩充路径,但我可以保证它在O(| E |)时间运行吗?

基本上忽略了找到扩充路径所需的时间复杂度(即无论算法是什么,让复杂度为O(1))。

如果没有这种方式,反面的例子是什么?如果是,我需要使用哪些方法?

1 个答案:

答案 0 :(得分:1)

答案是肯定的。通过“流动分解引理”,任何流动都会沿着大多数E路径和循环分解成流动。因此,原则上,您可以计算最大流量(根据您的假设,我们假设需要O(1)时间!),应用流量分解(证明是建设性的),并且只采用沿着< = E增加路径。

上面的阻塞流参数不太适用,因为阻塞流是扩充路径的集合,而不是单个扩充路径。