最大流 Edmonds-Karp

BFS 反复在残余网络中找最短增广路,沿瓶颈边推流——直到无路可走,累计流量即最大流。

最大流 Edmonds-Karp
第 01 / 11 步
初始网络:S 为源、T 为汇,边标注 流量/容量。最大流 = 0。 比较 0 · 交换 0
伪代码

				
					
					1
					// Edmonds-Karp:BFS 找最短增广路
				
			
				
					
					2
					maxflow = 0
				
			
				
					
					3
					while true:
				
			
				
					
					4
					  在残余网络中 BFS 找 s → t 的最短增广路 P
				
			
				
					
					5
					  if P 不存在: break
				
			
				
					
					6
					  f = min(残余容量 along P)   // 瓶颈
				
			
				
					
					7
					  maxflow += f
				
			
				
					
					8
					  沿 P 正向减 f、反向加 f
				
			
				
					
					9
					end while
				
			
01 / 11
速度