Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne. Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne. (original) (raw)
essential information that
every serious programmer
needs to know about
algorithms and data structures
Online content.
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:
- _Excerpts._A condensed version of the text narrative, for reference while online.
- _Lectures._Curated studio-produced online videos, suitable for remote instruction via CUbits.
- _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.
You can explore these resources via the sidebar at left.
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: Fundamentalsintroduces a scientific and engineering basis for comparing algorithms and making predictions. It also includes our programming model.
- Chapter 2: Sortingconsiders several classic sorting algorithms, including insertion sort, mergesort, and quicksort. It also features a binary heap implementation of a priority queue.
- Chapter 3: Searchingdescribes several classic symbol-table implementations, including binary search trees, red–black trees, and hash tables.
- Chapter 4: Graphssurveys the most important graph-processing problems, including depth-first search, breadth-first search, minimum spanning trees, and shortest paths.
- Chapter 5: Stringsinvestigates specialized algorithms for string processing, including radix sorting, substring search, tries, regular expressions, and data compression.
- Chapter 6: Contexthighlights connections to systems programming, scientific computing, commercial applications, operations research, and intractability.
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 canrequest an examination copyor email the authorsfor more information. Here is the preface. ACM/IEEE cites COS 226as a course exemplar in CS2013. Lecture slides (in Keynote format) are availableby requestfor instructors who adopt the textbook.
For students:
- _This online content._Whether your course uses our book or not, you can reinforce your understanding of many topics related to the study of algorithms by browsing the excerpts, code, and exercises here, watching the lecture videos, and/or using our book as a reference.
- _Java code._Please go to the Code tab at left for instructions on setting up a Java programming environment, installing our standard libraries, and downloading all of our code.
- _Lecture videos._Please go to the Lectures tab at left for links to all the online videos and suggestions on how to use them.
- MOOCs. You can take our free Coursera MOOCsAlgorithms, Part Iand Algorithms, Part II.
- Certificate courses. You can earn a certificate by taking our CUbits coursesAlgorithms, Part Iand Algorithms, Part II.