Preface |
|
ix | |
Acknowledgments |
|
xi | |
|
1 Preliminaries: Shortest Path Algorithms |
|
|
1 | (22) |
|
1.1 Nonnegative Costs: Dijkstra's Algorithm |
|
|
2 | (4) |
|
1.2 Negative Costs: The Bellman-Ford Algorithm |
|
|
6 | (5) |
|
1.3 Negative-Cost Cycle Detection |
|
|
11 | (12) |
|
|
19 | (1) |
|
|
20 | (3) |
|
2 Maximum Flow Algorithms |
|
|
23 | (57) |
|
2.1 Optimality Conditions |
|
|
26 | (7) |
|
2.2 Application: Carpool Sharing |
|
|
33 | (3) |
|
2.3 Application: The Baseball Elimination Problem |
|
|
36 | (5) |
|
2.4 Application: Finding a Maximum Density Subgraph |
|
|
41 | (5) |
|
2.5 Most Improving Augmenting Paths |
|
|
46 | (5) |
|
2.6 A Capacity Scaling Algorithm |
|
|
51 | (2) |
|
2.7 Shortest Augmenting Paths |
|
|
53 | (3) |
|
2.8 The Push-Relabel Algorithm |
|
|
56 | (24) |
|
|
69 | (7) |
|
|
76 | (4) |
|
3 Global Minimum Cut Algorithms |
|
|
80 | (36) |
|
3.1 The Hao-Orlin Algorithm |
|
|
82 | (7) |
|
3.2 The MA Ordering Algorithm |
|
|
89 | (4) |
|
3.3 The Random Contraction Algorithm |
|
|
93 | (7) |
|
|
100 | (16) |
|
|
110 | (3) |
|
|
113 | (3) |
|
4 More Maximum Flow Algorithms |
|
|
116 | (16) |
|
|
116 | (4) |
|
4.2 Blocking Flows in Unit Capacity Graphs |
|
|
120 | (2) |
|
4.3 The Goldberg-Rao Algorithm |
|
|
122 | (10) |
|
|
128 | (2) |
|
|
130 | (1) |
|
|
130 | (2) |
|
5 Minimum-Cost Circulation Algorithms |
|
|
132 | (56) |
|
5.1 Optimality Conditions |
|
|
135 | (5) |
|
5.2 Wallacher's Algorithm |
|
|
140 | (6) |
|
5.3 Minimum-Mean Cycle Canceling |
|
|
146 | (8) |
|
5.4 A Capacity Scaling Algorithm |
|
|
154 | (6) |
|
5.5 Successive Approximation |
|
|
160 | (7) |
|
|
167 | (3) |
|
5.7 Application: Maximum Flow Over Time |
|
|
170 | (18) |
|
|
176 | (8) |
|
|
184 | (4) |
|
6 Generalized Flow Algorithms |
|
|
188 | (36) |
|
6.1 Optimality Conditions |
|
|
190 | (8) |
|
6.2 A Wallacher-Style GAP-Canceling Algorithm |
|
|
198 | (7) |
|
6.3 Negative-Cost GAP Detection |
|
|
205 | (4) |
|
6.4 Lossy Graphs, Truemper's Algorithm, and Gain Scaling |
|
|
209 | (9) |
|
|
218 | (6) |
|
|
221 | (2) |
|
|
223 | (1) |
|
7 Multicommodity Flow Algorithms |
|
|
224 | (29) |
|
7.1 Optimality Conditions |
|
|
225 | (2) |
|
7.2 The Two-Commodity Case |
|
|
227 | (3) |
|
7.3 Intermezzo: The Multiplicative Weights Algorithm |
|
|
230 | (6) |
|
7.4 The Garg-Konemann Algorithm |
|
|
236 | (4) |
|
7.5 The Awerbuch-Leighton Algorithm |
|
|
240 | (13) |
|
|
249 | (2) |
|
|
251 | (2) |
|
8 Electrical Flow Algorithms |
|
|
253 | (38) |
|
8.1 Optimality Conditions |
|
|
254 | (12) |
|
8.2 Maximum Flow in Undirected Graphs |
|
|
266 | (5) |
|
|
271 | (6) |
|
8.4 A Simple Laplacian Solver |
|
|
277 | (14) |
|
|
285 | (3) |
|
|
288 | (2) |
|
|
290 | (1) |
|
|
291 | (3) |
References |
|
294 | (13) |
Author Index |
|
307 | (3) |
Index |
|
310 | |