DAA reconciles Data Structures & Algorithms with the Theory of Computation. In this course, you will learn to systematically create and analyze algorithms of your own making and set boundaries on its running time using the notion of Complexity Classes
. The course also covers various algorithm design & problem solving strategies such as Divide & Conquer
, Dynamic Programming
& Approximation Algorithms
.
Use CLRS along with the supplementary video material. The polynomial reductions are also present in the Text. For additional information on reductions, refer to the TOC textbook. The coursera course by Tim Roughgarden is recommended.
This course has the following prerequisites.
Title | Author(s) | Edition |
---|---|---|
Introduction to Algorithms | Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest & Clifford Stein | 3rd (2009) |
Competitive Programmer’s Handbook | Antti Laaksonen | Draft (2017) |
Algorithm Design and Applications | Michael T. Goodrich & Roberto Tamassia | 1st (2015) |
Algorithm Design | Kleinberg & Tardos | 1st (2006) |
Instructor's Manual to Accompany Introduction to Algorithms | Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest & Clifford Stein | 3rd (2009) |
Algorithms Illuminated: Part I, The Basics | Tim Roughgarden | 2017 |
Algorithms Illuminated: Part II, Graph Algorithms and Data Structures | Tim Roughgarden | 2017 |
The Algorithm Design Manual | Skiena | 2nd (2008) |
Introduction To The Design & Analysis of Algorithms | Anany Levitin | 3rd (2012) |
Foundations of Algorithms | Richard Neopolitan | 5th (2015) |
- Algorithms Specialization, Stanford University
- Algorithms, Abdul Bari
- Design and Analysis of Algorithms, MIT Spring 2015
- Quick Sort, Michael Sambol
- Four Color Theorem, Up and Atom
- Approximation Algorithms, UHMICSAlgorithms
- Network Flow, UC Davis
- Design and Analysis of Algorithms, Gate Smashers - Hindi