Get syllabus here
Lecture 01: Introduction: analysing algorithms, designing algorithms. slides (UD) slides (MO)
Lecture 02: Asymptotic Notation. slides (UD) slides (MO)
Lecture 03: Solving Recurrences. slides (UD) slides (MO)
Lecture 04: Divide and Conquer Design Paradigm. slides (UD) slides (MO)
Lecture 05: Quicksort. slides (UD) slides (MO)
Lecture 06a: Analysis of Quicksort. slides (UD) slides (MO)
Lecture 06b: Randomized Quicksort. slides (UD) slides (MO)
Lecture 07: Median and order statistics. slides (UD) slides (MO)
Lecture 08: Heaps: heapsort, priority queues. slides (UD) slides (MO)
Lecture 09: Sorting in Linear Time. slides (UD) slides (MO)
Lecture 10: Dynamic Programming. slides (UD) slides (MO)
Lecture 11: Greedy Algorithms. slides (UD) slides (MO)
Lecture 12a: Amortized Analysis. slides (UD) slides (MO)
Lecture 12b: Dynamic Tables. slides (UD) slides (MO, subject to update)
Extra examples for dynamic programming. slides
Last updated: Sat Apr 30 19:19:38 EEST 2016