Skip to content

Latest commit

 

History

History

CSF364

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

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.

Navigation

Prerequisites

This course has the following prerequisites.

Textbooks

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)

Code

Videos

Websites

Apps