Synopses & Reviews
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. Michael Schidlowsky and Sedgewick have developed concise new Java implementations that both express the methods in a natural and direct manner and also can be used in real applications.
Algorithms in Java, 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. The natural match between Java classes and abstract data type (ADT) implementations makes the code more broadly useful and relevant for the modern object-oriented programming environment.
The Web site for this book (www.cs.princeton.edu/~rs/) provides additional source code for programmers along with a variety of academic support materials for educators.
Coverage includes:
- A complete overview of graph properties and types
- Diagraphs and DAGs
- Minimum spanning trees
- Shortest paths
- Network flows
- Diagrams, sample Java code, and detailed algorithm descriptions
A landmark revision, Algorithms in Java, 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.
Synopsis
Part 5 of Sedgewick's seminal work on Algorithms is available for the first time in a Java version!
- Part 5 of the most important work on computer algorithms, completely revised, greatly expanded, and completely up-to-date.
- Its unique blend of theory and practice makes this book appeal equally to both the professional and academic markets.
- Over 400,000 copies of Sedgewick's books on algorithms have been sold! This edition is long-awaited, with lots of pent-up demand.
Synopsis
Robert Sedgewick, along with Donald Knuth, is one of the very few people with a world-wide reputation for their contributions to the field of computer algorithms. This book is the second of three volumes that survey the most important computer algorithms in use today. Much more than a standard revision, this is a major rewrite. The material is more than five times as long as in the previous edition, which was only available in C and C++. KEY TOPICS: Sedgewick has added a wealth of new exercises, hundreds of new figures, and dozens of new programs. This volume, Part 5, covers graph algorithms, which are pervasive in modern computing appications. Graph algorithms are increasingly critical for a wide range of applications, such as network connectivity, circuit design, scheduling, transaction processing, and resource allocation. In the third edition, many new algorithms are presented, and the explanations of each algorithm are much more detailed than in previous editions. A new text design and detailed, innovative figures, with accompanying commentary, greatly enhance the presentation. Source code for the implementations is available on the Web. The C and C++ versions of this volume have been previously published. Unlike any other book on algorithms, not only will programmers get practical information on using algorithms in their work, they can also be assured that these algorithms rest on the most solid scientific foundations. MARKET: Both professional programmers and computer science students.
About the Author
Robert Sedgewick is one of the most revered individuals in computer science. He is the William O. Baker Professor of Computer Science at Princeton University. He is a director of Adobe Systems and has held visiting research positions at INRIA, the Institute for Defense Analyses, and Xerox PARC. Michael Schidlowsky contributed to the Java implementations. Michael, a Princeton graduate, is an independent software consultant specializing in object-oriented programming. Most recently he was the CTO of Teaching That Works, and the founder of xSense Corporation.
Table of Contents
PART V. GRAPH ALGORITHMS. 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.