GRAPHS: THEORY AND ALGORITHMS K. THULASIRAMAN M. N. S. SWAMY Concordia University Montreal, Canada A Wiley-Interscience Publication JOHN WILEY & SONS, INC. New York / Chichester / Brisbane / Toronto / Singapore
CONTENTS PREFACE 1 BASIC CONCEPTS 1.1 Some Basic Definitions / 1 1.2 Subgraphs and Complements / 4 1.3 Walks, Trails, Paths, and Circuits / 7 1.4 Connectedness and Components of a Graph / 9 1.5 Operations on Graphs / 11 1.6 Special Graphs / 16 1.7 Cut-Vertices and Separable Graphs / 19 1.8 Isomorphism and 2-Isomorphism / 22 1.9 Further Reading / 25 1.10 Exercises / 26 1.11 References / 29 2 TREES, CUTSETS, AND CIRCUITS 2.1 Trees, Spanning Trees, and Cospanning Trees / 31 2.2 fc-trees, Spanning A:-Trees, and Forests / 38 2.3 Rank and Nullity / 41 2.4 Fundamental Circuits / 41 2.5 Cutsets / 42 2.6 Cuts / 43
VÜi CONTENTS 2.7 Fundamental Cutsets / 46 2.8 Spanning Trees, Circuits, and Cutsets / 48 2.9 Further Reading / 51 2.10 Exercises / 51 2.11 References / 54 3 EULERIAN AND HAMILTONIAN GRAPHS 55 3.1 Eulerian Graphs / 57 3.2 Hamiltonian Graphs / 62 3.3 Further Reading / 67 3.4 Exercises / 68 3.5 References / 70 4 GRAPHS AND VECTOR SPACES 72 4.1 Groups and Fields / 72 4.2 Vector Spaces / 74 4.3 Vector Space of a Graph / 80 4.4 Dimensions of Circuit and Cutset Subspaces / 86 4.5 Relationship between Circuit and Cutset Subspaces / 89 4.6 Orthogonality of Circuit and Cutset Subspaces / 90 4.7 Further Reading / 93 4.8 Exercises / 94 4.9 References / 96 5 DIRECTED GRAPHS 97 5.1 Basic Definitions and Concepts / 97 5.2 Graphs and Relations / 104 5.3 Directed Trees or Arborescences / 105 5.4 Directed Eulerian Graphs / 110 5.5 Directed Spanning Trees and Directed Euler Trails / 113 5.6 Directed Hamiltonian Graphs / 115 5.7 Acyclic Directed Graphs / 118 5.8 Tournaments / 119 5.9 Further Reading / 121 5.10 Exercises / 121 5.11 References / 124
CONTENTS ix 6 MATRICES OF A GRAPH 126 6.1 Incidence Matrix / 126 6.2 Cut Matrix / 130 6.3 Circuit Matrix / 133 6.4 Orthogonality Relation / 136 6.5 Submatrices of Cut, Incidence, and Circuit Matrices / 139 6.6 Unimodular Matrices / 145 6.7 The Number of Spanning Trees / 147 6.8 The Number of Spanning 2-Trees / 151 6.9 The Number of Directed Spanning Trees in a Directed Graph / 155 6.10 Adjacency Matrix / 159 6.11 The Coates and Mason Graphs / 163 6.12 Further Reading / 172 6.13 Exercises / 173 6.14 References / 176 7 PLANARITY AND DUALITY 179 7.1 Planar Graphs / 179 7.2 Euler's Formula / 182 7.3 Kuratowski's Theorem and Other Characterizations of Planarity / 186 7.4 Dual Graphs / 188 7.5 Planarity and Duality / 193 7.6 Further Reading / 196 7.7 Exercises / 196 7.8 References / 198 8 CONNECTIVITY AND MATCHING 200 8.1 Connectivity or Vertex Connectivity / 200 8.2 Edge Connectivity / 207 8.3 Graphs with Prescribed Degrees / 209 8.4 Menger's Theorem / 213 8.5 Matchings / 215 8.6 Matchings in Bipartite Graphs / 217 8.7 Matchings in General Graphs / 224 8.8 Further Reading / 230 8.9 Exercises / 231 8.10 References / 234
X CONTENTS 9 COVERING AND COLORING 236 9.1 Independent Sets and Vertex Covers / 236 9.2 Edge Covers / 243 9.3 Edge Coloring and Chromatic Index / 245 9.4 Vertex Coloring and Chromatic Numbcr / 251 9.5 Chromatic Polynomials / 253 9.6 The Four-Color Problem / 257 9.7 Further Reading / 258 9.8 Exercises / 259 9.9 References / 262 10 MATROIDS 265 10.1 Basic Definitions / 266 10.2 Fundamental Properties / 268 10.3 Equivalent Axiom Systems / 272 10.4 Matroid Duality and Graphoids / 276 10.5 Restriction, Contraction, and Minors of a Matroid / 282 10.6 Representability of a Matroid / 285 10.7 Binary Matroids / 287 10.8 Orientable Matroids / 292 10.9 Matroids and the Greedy Algorithm / 294 10.10 Further Reading / 298 10.11 Exercises / 299 10.12 References / 303 11 GRAPH ALGORITHMS 306 11.1 Transitive Closure / 307 11.2 Shortest Paths / 314 11.3 Minimum Weight Spanning Tree / 324 11.4 Optimum Branchings / 327 11.5 Perfect Matching, Optimal Assignment, and Timetable Scheduling / 332 11.6 The Chinese Postman Problem / 342 11.7 Depth-First Search / 346 11.8 Biconnectivity and Strong Connectivity / 354 11.9 Reducibility of a Program Graph / 361 11.10 ^-Numbering of a Graph / 370 11.11 Planarity Testing / 373
CONTENTS Xi 11.12 Further Reading / 379 11.13 Exercises / 380 11.14 References / 382 12 FLOWS IN NETWORKS 390 12.1 The Maximum Flow Problem / 391 12.2 Maximum Flow Minimum Cut Theorem / 392 12.3 Ford-Fulkerson Labeling Algorithm / 396 12.4 Edmonds and Karp Modification of the Labeling Algorithm / 400 12.5 Dinic Maximum Flow Algorithm / 404 12.6 Maximal Flow in a Layered Network: The MPM Algorithm / 408 12.7 Preflow Push Algorithm: Goldberg and Tarjan / 411 12.8 Maximum Flow in 0-1 Networks / 422 12.9 Maximum Matching in Bipartite Graphs / 426 12.10 Menger's Theorems and Connectivities / 427 12.11 NP-Completeness / 433 12.12 Further Reading / 436 12.13 Exercises / 437 12.14 References / 439 AUTHOR INDEX 445 SUBJECT INDEX 451