# Algorithms, 4th Edition

essential information that
every serious programmer
algorithms and data structures

## Textbook.

The textbook Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne [ Amazon · Pearson ] 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 includes 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.

## Online courses.

You can take our free Coursera MOOCs. They include a full set of lecture videos and assessments. Algorithms, Part I covers Chapters 1 through 3; Algorithms, Part II covers Chapters 4 through 6.

## 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 in this textbook.

• Exercise solutions. Solutions to selected exercises.

## To get started.

Here are instructions for setting up a simple Java programming environment [ Mac OS X · Windows · Linux ].