Algorithms, 4th Edition





essential information that

every serious programmer

needs to know about

algorithms and data structures





Online content.

Execepts. A condensed version of the text narrative, for reference while online.

Lectures. Curated studio-produced online videos, suitable for remote instruction via CUvids.

Java code. The algorithms and clients in this textbook, along with the standard libraries they use.

Exercises. Selected exercises from the book and “web exercises” developed since its publication, along with solutions to selected exercises.

Programming assignments. Creative programming assignments that we have used at Princeton.

This booksite contains tens of thousands of files, fully coordinated with our textbook and also useful as a stand-alone resource. It consists of the following elements:You can explore these resources via the sidebar at left.

Textbook.

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.

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

For teachers:

This online content. Everything on these pages is freely available. We ask only that you adhere to normal academic traditions of attribution if you adapt this content in your own course. One best practice is to just provide links to our pages.

To use the lecture videos. Please go to the Lectures tab at left for links to all the online videos and suggestions on how to use them.

To adopt the textbook. You can request an examination copy or email the authors for more information. Here is the preface. ACM/IEEE cites COS 226 as a course exemplar in CS2013. Lecture slides (in Keynote format) are available by request for instructors who adopt the textbook.

For students: