This is the eBook version of the printed book.
Essential Information about Algorithms and Data Structures
A Classic Reference
The latest version of Sedgewick’s best-selling series, reflecting an indispensable body of knowledge developed over the past several decades.
Full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing, including fifty algorithms every programmer should know.
Completely Revised Code
New Java implementations written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use.
Engages with Applications
Algorithms are studied in the context of important scientific, engineering, and commercial applications. Clients and algorithms are expressed in real code, not the pseudo-code found in many other books.
Engages reader interest with clear, concise text, detailed examples with visuals, carefully crafted code, historical and scientific context, and exercises at all levels.
A Scientific Approach
Develops precise statements about performance, supported by appropriate mathematical models and empirical studies validating those models.
Chapter 1: Fundamentals
Bags, Stacks, and Queues
Analysis of Algorithms
Case Study: Union-Find
Chapter 2: Sorting
Chapter 3: Searching
Binary Search Trees
Balanced Search Trees
Chapter 4: Graphs
Minimum Spanning Trees
Chapter 5: Strings
Chapter 6: Context
About the Author
Robert Sedgewick has been a Professor of Computer Science at Princeton University since 1985, where he was the founding Chairman of the Department of Computer Science. He has held visiting research positions at Xerox PARC, Institute for Defense Analyses, and INRIA, and is member of the board of directors of Adobe Systems. Professor Sedgewick’s research interests include analytic combinatorics, design and analysis of data structures and algorithms, and program visualization. His landmark book, Algorithms, now in its fourth edition, has appeared in numerous versions and languages over the past thirty years. In addition, with Kevin Wayne, he is the coauthor of the highly acclaimed textbook, Introduction to Programming in Java: An Interdisciplinary Approach (Addison-Wesley, 2008).
Kevin Wayne is the Phillip Y. Goldman Senior Lecturer in Computer Science at Princeton University, where he has been teaching since 1998. He received a Ph.D. in operations research and industrial engineering from Cornell University. His research interests include the design, analysis, and implementation of algorithms, especially for graphs and discrete optimization. With Robert Sedgewick, he is the coauthor of the highly acclaimed textbook, Introduction to Programming in Java: An Interdisciplinary Approach (Addison-Wesley, 2008).