首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在O(|E|)迭代内终止的Ford-Fulkerson算法,而不考虑寻找增广路径的时间复杂度

在O(|E|)迭代内终止的Ford-Fulkerson算法,而不考虑寻找增广路径的时间复杂度
EN

Stack Overflow用户
提问于 2014-04-13 22:00:25
回答 1查看 957关注 0票数 3

福特Fulkerson算法将在O(|E|f)时间内运行,其中f是最大流;但是,是否有方法使其运行O(|E|)?

让它运行少于O(|E|f)的解决方案之一是选择一条允许流量最大增加的扩充路径,使用与使用加权最短路径问题等查找路径相关的东西,但我能保证它在O(|E|)时间运行吗?

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

如果没有这样的方法,那么反例是什么?如果是,我需要使用什么方法?

EN

回答 1

Stack Overflow用户

发布于 2014-04-14 04:37:24

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23043654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档