Design & Analysis of Algorithms

Overview

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.

Prerequisites

This course has the following prerequisites.

Textbooks

Title

Author(s)

Edition

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest & Clifford Stein

3rd (2009)

Antti Laaksonen

Draft (2017)

Michael T. Goodrich & Roberto Tamassia

1st (2015)

Kleinberg & Tardos

1st (2006)

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest & Clifford Stein

3rd (2009)

Richard Neopolitan

5th (2015)

Code

Videos

Websites

Apps

Last updated