Graph algorithms are critical for a wide range of applications, including network connectivity, circuit design, scheduling, transaction processing, and resource allocation. The latest in Robert Sedgewick's classic series on algorithms, this is the field's definitive guide to graph algorithms for C++. Far more than a "revision," this is a thorough rewriting, five times as long as the previous edition, with a new text design, innovative new figures, more detailed descriptions, and many new exercises -- all designed to dramatically enhance the book's value to developers, students, and researchers alike.KEY TOPICS:The book contains six chapters covering graph properties and types, graph search, directed graphs, minimal spanning trees, shortest paths, and networks -- each with diagrams, sample code, and detailed descriptions intended to help readers understand the basic properties of as broad a range of fundamental graph algorithms as possible. The basic properties of these algorithms are developed from first principles; discussion of advanced mathematical concepts is brief, general, and descriptive, but proofs are rigorous and many open problems are discussed. Sedgewick focuses on practical applications, giving readers all the information and real (not pseudo-) code they need to confidently implement, debug, and use the algorithms he covers. (Also available: Algorithms in C++: Parts 1-4, Third Edition, ISBN: 0-201-35088-2).MARKET:For all software developers, researchers, and students of computer science.
Table of Contents
17. Graph Properties and Types.
Variations, Extensions, and Costs.
Simple, Euler, and Hamilton Paths.
18. Graph Search.
Exploring a Maze.
Graph-Search ADT Functions.
Properties of DFS Forests.
Separability and Biconnectivity.
Generalized Graph Search.
Analysis of Graph Algorithms.
19. Digraphs and DAGs.
Glossary and Rules of the Game.
Anatomy of DFS in Digraphs.
Reachability and Transitive Closure.
Equivalence Relations and Partial Orders.
Reachability in DAGs.
Strong Components in Digraphs.
Transitive Closure Revisited.
20. Minimum Spanning Trees.
Underlying Principles of MST Algorithms.
Prim's Algorithm and Priority-First Search.
Comparisons and Improvements.
21. Shortest Paths.
All-Pairs Shortest Paths.
Shortest Paths in Acyclic Networks.
22. Network Flow.
Augmenting-Path Maxflow Algorithms.
Preflow-Push Maxflow Algorithms.
Network Simplex Algorithm.
References for Part Five.