Lecture 1 - Overview of the course
Lecture 2 - Framework for Algorithms Analysis
Lecture 3 - Algorithms Analysis Framework - II
Lecture 4 - Asymptotic Notations
Lecture 5 - Algorithm Design Techniques : Basics
Lecture 6 - Divide And Conquer - I
Lecture 7 - Divide And Conquer - II Median Finding
Lecture 8 - Divide And Conquer - III Surfing Lower Bounds
Lecture 9 - Divide And Conquer - IV Closest Pair
Lecture 10 - Greedy Algorithms - I
Lecture 11 - Greedy Algorithms - II
Lecture 12 - Greedy Algorithms - III
Lecture 13 - Greedy Algorithms - IV
Lecture 14 - Pattern Matching - I
Lecture 15 - Pattern Matching - II
Lecture 16 - Combinational Search and Optimization - I
Lecture 17 - Combinational Search and Optimization - II
Lecture 18 - Dynamic Programming
Lecture 19 - Longest Common Subsequences
Lecture 20 - Matrix Chain Multiplication
Lecture 21 - Scheduling with Startup and Holding Costs
Lecture 22 - Average case Analysis of Quicksort
Lecture 23 - Bipartite Maximum Matching
Lecture 24 - Lower Bounds for Sorting
Lecture 25 - Element Distinctness Lower Bounds
Lecture 26 - NP-Completeness - I - Motivation
Lecture 27 - NP-Completeness - II
Lecture 28 - NP-Completeness - III
Lecture 29 - NP-Completeness - IV
Lecture 30 - NP-Completeness - V
Lecture 31 - NP-Completeness - VI
Lecture 32 - Approximation Algorithms
Lecture 33 - Approximation Algorithms
Lecture 34 - Approximation Algorithms for NP