Algorithms, 4th Edition
essential information that
every serious programmer
needs to know about
algorithms and data structures
Textbook.The textbook Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne [ Amazon · Pearson · InformIT ] surveys the most important algorithms and data structures in use today. We motivate each algorithm that we address by examining its impact on applications to science, engineering, and industry. The textbook is organized into six chapters:
- Chapter 1: Fundamentals introduces a scientific and engineering basis for comparing algorithms and making predictions. It also includes our programming model.
- Chapter 2: Sorting considers several classic sorting algorithms, including insertion sort, mergesort, and quicksort. It also features a binary heap implementation of a priority queue.
- Chapter 3: Searching describes several classic symbol-table implementations, including binary search trees, red–black trees, and hash tables.
- Chapter 4: Graphs surveys the most important graph-processing problems, including depth-first search, breadth-first search, minimum spanning trees, and shortest paths.
- Chapter 5: Strings investigates specialized algorithms for string processing, including radix sorting, substring search, tries, regular expressions, and data compression.
- Chapter 6: Context highlights connections to systems programming, scientific computing, commercial applications, operations research, and intractability.
Booksite.Reading a book and surfing the web are two different activities: This booksite is intended for your use while online (for example, while programming and while browsing the web); the textbook is for your use when initially learning new material and when reinforcing your understanding of that material (for example, when reviewing for an exam). The booksite consists of the following elements:
- Excerpts. A condensed version of the text narrative, for reference while online.
- Java code. The algorithms and clients [ algs4 · github ] in this textbook.
- Exercise solutions. Solutions to selected exercises.
- Java. Here are instructions for setting up an IntelliJ-based Java programming environment for Mac OS X, Windows, and Linux.
- Lecture videos. Studio-produced videos are included in the deluxe edition. They are also available separately from InformIT and CUvids.
- Online course. You can take our free Coursera MOOCs Algorithms, Part I and Algorithms, Part II.
- To adopt. You can request an examination copy or ask the authors for more information. Here is the preface. ACM/IEEE cites COS 226 as a course exemplar in CS2013.
- Course materials. Lecture slides (in Keynote format) are available by request for instructors who adopt the textbook.