ford fulkerson复杂度为O(FE)
,但edmond karps为O(VE^2)
。这是基于这样一个前提,即每个边缘只能是O(V)
次的关键,这适用于所有边缘,因此我们有O(VE)
次边缘可能成为关键的次数,即可以找到扩充路径的次数。这是有道理的,因为我们可以只使用1个边缘O(V)
次,然后因为我们需要对图中的每个其他边缘执行此操作,我们需要O(VE)
次才能找到扩充路径。然后BFS
需要O(E)
,因此我们会根据需要获得edmonds karp的最终复杂性。
但问题在于:增强路径数量的O(VE)
参数是如此笼统,那么为什么这种分析不能应用于福特康普顿呢?似乎两种算法的复杂性在不公平的基础上进行了比较。什么是edmonds karp算法,使它更优秀?
另外,为什么当我们在edmonds karp中使用BFS方法时,我们保证找到最短的路径?这有短暂的证据吗?