- Shopping Bag ( 0 items )
-
All (27) from $56.05
-
New (17) from $60.74
-
Used (10) from $56.05
More About This Textbook
Overview
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.
Broad Coverage
Full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing, including fifty algorithms every programmer should know. See algs4.cs.princeton.edu/code.
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.
Intellectually Stimulating
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.
Integrated with the Web
Visit algs4.cs.princeton.edu for a freely accessible, comprehensive Web site, including text digests, program code, test data, programming projects, exercises, lecture slides, and other resources.
Contents
Chapter 1: Fundamentals
Programming Model
Data Abstraction
Bags, Stacks, and Queues
Analysis of Algorithms
Case Study: Union-Find
Chapter 2: Sorting
Elementary Sorts
Mergesort
Quicksort
Priority Queues
Applications
Chapter 3: Searching
Symbol Tables
Binary Search Trees
Balanced Search Trees
Hash Tables
Applications
Chapter 4: Graphs
Undirected Graphs
Directed Graphs
Minimum Spanning Trees
Shortest Paths
Chapter 5: Strings
String Sorts
Tries
Substring Search
Regular Expressions
Data Compression
Chapter 6: Context
Product Details
Related Subjects
Meet 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).
Table of Contents
Preface viii
Chapter 1: Fundamentals 3
1.1 Basic Programming Model 8
1.2 Data Abstraction 64
1.3 Bags, Queues, and Stacks 120
1.4 Analysis of Algorithms 172
1.5 Case Study: Union-Find 216
Chapter 2: Sorting 243
2.1 Elementary Sorts 244
2.2 Mergesort 270
2.3 Quicksort 288
2.4 Priority Queues 308
2.5 Applications 336
Chapter 3: Searching 361
3.1 Symbol Tables 362
3.2 Binary Search Trees 396
3.3 Balanced Search Trees 424
3.4 Hash Tables 458
3.5 Applications 486
Chapter 4: Graphs 515
4.1 Undirected Graphs 518
4.2 Directed Graphs 566
4.3 Minimum Spanning Trees 604
4.4 Shortest Paths 638
Chapter 5: Strings 695
5.1 String Sorts 702
5.2 Tries 730
5.3 Substring Search 758
5.4 Regular Expressions 788
5.5 Data Compression 810
Chapter 6: Context 853
Index 933
List of Algorithms 954
List of Clients 955