Algorithms in C++ Part 5

Series
Addison-Wesley
Author
Robert Sedgewick  
Publisher
Addison-Wesley
Cover
Softcover
Edition
3
Language
English
Total pages
496
Pub.-date
December 2001
ISBN13
9780201361186
ISBN
0201361183
Related Titles



Description

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. 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).

Table of Contents



17. Graph Properties and Types.

Glossary.

Graph ADT.

Adjacency-Matrix Representation.

Adjacency-Lists Representation.

Variations, Extensions, and Costs.

Graph Generators.

Simple, Euler, and Hamilton Paths.

Graph-Processing Problems.



18. Graph Search.

Exploring a Maze.

Depth-First Search.

Graph-Search ADT Functions.

Properties of DFS Forests.

DFS Algorithms.

Separability and Biconnectivity.

Breadth-First Search.

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.

DAGs.

Topological Sorting.

Reachability in DAGs.

Strong Components in Digraphs.

Transitive Closure Revisited.

Perspective.



20. Minimum Spanning Trees.

Representations.

Underlying Principles of MST Algorithms.

Prim's Algorithm and Priority-First Search.

Kruskal's Algorithm.

Boruvka's Algorithm.

Comparisons and Improvements.

Euclidean MST.



21. Shortest Paths.

Underlying Principles.

Dijkstra's algorithm.

All-Pairs Shortest Paths.

Shortest Paths in Acyclic Networks.

Euclidean Networks.

Reduction.

Negative Weights.

Perspective.



22. Network Flow.

Flow Networks.

Augmenting-Path Maxflow Algorithms.

Preflow-Push Maxflow Algorithms.

Maxflow Reductions.

Mincost Flows.

Network Simplex Algorithm.

Mincost-Flow Reductions.

Perspective.



References for Part Five.


Index. 0201361183T12172001

Back Cover

Once again, Robert Sedgewick provides a current and comprehensive introduction to important algorithms. The focus this time is on graph algorithms, which are increasingly critical for a wide range of applications, such as network connectivity, circuit design, scheduling, transaction processing, and resource allocation. In this book, Sedgewick offers the same successful blend of theory and practice that has made his work popular with programmers for many years. Christopher van Wyk and Sedgewick have developed concise new C++ implementations that both express the methods in a natural and direct manner and also can be used in real applications.

Algorithms in C++, Third Edition, Part 5: Graph Algorithms is the second book in Sedgewick's thoroughly revised and rewritten series. The first book, Parts 1-4, addresses fundamental algorithms, data structures, sorting, and searching. A forthcoming third book will focus on strings, geometry, and a range of advanced algorithms. Each book's expanded coverage features new algorithms and implementations, enhanced descriptions and diagrams, and a wealth of new exercises for polishing skills. A focus on abstract data types makes the programs more broadly useful and relevant for the modern object-oriented programming environment.

Coverage includes:

  • A complete overview of graph properties and types
  • Diagraphs and DAGs
  • Minimum spanning trees
  • Shortest paths
  • Network flows
  • Diagrams, sample C++ code, and detailed algorithm descriptions

The Web site for this book (http://www.cs.princeton.edu/~rs/) provides additional source code for programmers along with a wide range of academic support materials for educators.

A landmark revision, Algorithms in C++, Third Edition, Part 5 provides a complete tool set for programmers to implement, debug, and use graph algorithms across a wide range of computer applications.



0201361183B11282001

Author

Robert Sedgewick is the William O. Baker Professor of Computer Science at Princeton University. He is a Director of Adobe Systems and has served on the research staffs at Xerox PARC, IDA, and INRIA. He earned his Ph.D from Stanford University under Donald E. Knuth.



0201361183AB06262002