Skip to content

Commit c05317b

Browse files
committed
fix some more comments from TH in flow.py
1 parent 00810e7 commit c05317b

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

code/Graphs/flow.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,26 @@ def __init__(self, sz):
66
def add_edge(self, i, j, w):
77
self.G[i][j] += w
88

9-
def dfs(self, s, t, FLOW):
10-
if s in self.V: return 0
11-
if s == t: return FLOW
12-
self.V.add(s)
13-
for u, w in self.G[s].items():
9+
def dfs(self, u, FLOW):
10+
if u in self.reached: return 0
11+
if u == self.T: return FLOW
12+
G = self.G
13+
self.reached.add(u)
14+
for v, w in G[u].items():
1415
if w:
15-
F = self.dfs(u, t, min(FLOW, w))
16-
if F:
17-
self.G[s][u] -= F
18-
self.G[u][s] += F
19-
return F
20-
self.dead.add(s)
16+
f = self.dfs(v, min(FLOW, w))
17+
if f:
18+
G[u][v] -= f
19+
G[v][u] += f
20+
return f
2121
return 0
2222

23-
def max_flow(self, s, t):
23+
def max_flow(self, S, T):
2424
flow = 0
25+
self.T = T
2526
while True:
26-
self.V = set()
27-
pushed = self.dfs(s, t, float('inf'))
27+
self.reached = set()
28+
pushed = self.dfs(S, float('inf'))
2829
if not pushed: break
2930
flow += pushed
3031
return flow

notebook.pdf

116 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)