Algorithms + Data Structures = Programs
β Niklaus Wirth
Books
- Algorithms, by Robert Sedgewick and Kevin Wayne (also referred as Sedgewick)
- The Algorithm Design Manual (pdf), by Steven Skiena (also referred as Skiena)
- The Art of Computer Programming, by Donald E. Knuth (also referred as TAOCP)
- Introduction to Algorithms, by Cormen, Leiserson, Rivest, and Stein (also referred as CLRS)
- Algorithms, by Dasgupta, Papadimitriou, and Vazirani (also referred as Dasgupta);
- Structure and Interpretation of Computer Programs, by Harold Abelson and Gerald Jay Sussman with Julie Sussman (also referred as SICP)
- Purely Functional Data Structures, by Chris Okasaki (also referred as Okasaki)
- Algorithms, Etc., by Jeff Erickson
- Algorithms and Data Structures, N. Wirth
Β | Prose | Code | Code details | Math | Breadth and Depth | Price |
---|---|---|---|---|---|---|
TAOCP | 1π | 3 | MIX assembly, pseudocode | 1π | 1π | $$$$ |
Skiena | 2 | 1π | pseudocode, C | 4 | 3 | Available for free |
Dasgupta | 3 | 2 | high-level pseudocode that resembles Pascal | 3 | 4 | $ |
CLRS | 4 | 2 | high-level pseudocode that resembles Pascal | 2 | 2 | $$ |
Table based on A Comparison of Four Algorithms Textbooks. See also: ALGORITHMS AND DATA STRUCTURES BOOKS: ONE SIZE DOESNβT FIT THEM ALL
Courses
- 6.854: Advanced Algorithms, MIT
- 6.851: Advanced Data Structures, MIT
- Algorithms by Robert Sedgewick and Kevin Wayne, Princeton University
- Awesome courses
- CS 161 - Design and Analysis of Algorithms, Stanford University
- Master Algorithmic Programming Techniques
Online resources
- https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
- Quantum Algorithm Zoo
- Dictionary of Algorithms and Data Structures
- http://www3.cs.stonybrook.edu/~algorith/implement/handbook/implement.shtml
- https://www8.cs.umu.se/kurser/TDBAfl/VT06/algorithms/WEBSITE/INDEX.HTM
Computational Complexity
- http://bigocheatsheet.com/
- https://complexityzoo.uwaterloo.ca/Zoo_Intro