引理: EK算法每次增廣使$s$到所有頂點$v\in V-\{s,t\}$的最短距離$d[v]$增大.
采用反證法, 假設存在一個點$v\in V-\{s,t\}$, 使得$d'[v]< d[v]$.
取$v$為第一個使最短距離減小的點, 設增廣后的圖$G'$中路徑$s\leadsto u \rightarrow v$為$s$到$v$的最短路
因此可以得到
$$d[u]=d[v]-1, d'[u]\ge d[u]$$
那么顯然邊$(u,v) \notin E$, 因為若$(u,v) \in E$, 則有
$$d[v]\le d[u]+1 \le d'[u]+1 = d'[v]$$
與假設矛盾.
故EK算法一定是增加了流$f(v,u)$, 即邊$(v,u)$在$G$的最短路上, 固有
$$d[v]=d[u]-1\le d'[u]-1=d'[v]-2$$
與假設矛盾, 故引理成立.
定理: EK算法最多增廣次數為$O(VE)$.
若增廣路$p$的殘留容量等於邊$(u,v)$的殘留容量, 則稱邊$(u,v)$是增廣路$p$的關鍵邊, 下面用引理證明每條邊最多做關鍵邊$\frac{|V|}{2}-1$次.
對於關鍵邊$(u,v)$, 由於$(u,v)$在最短路上, 有
$$d[v]=d[u]+1$$
而增廣后, $(u,v)$將從$G$中消失, 重新出現的條件是$(v,u)$出現在增廣路上.
則有
$$d'[u]=d'[v]+1$$
由引理知道
$$d'[v]\ge d[v]$$
故有
$$d'[u]\ge d[v]+1=d[u]+2$$
所以每次出現至少會使最短距離$+2$, 而其距離最大為$|V|-2$, 所以每條邊最多做關鍵邊$\frac{|V|}{2}-1$次, 總的增廣次數就為$O(VE)$.
所以采用BFS進行增廣的話, EK算法將達到復雜度$O(VE^2)$