Lecture 01: Introduction: analysing algorithms, designing algorithms. (pdf) (pptx)
Lecture 02: Asymptotic Notation.
Lecture 03: Solving Recurrences.
Lecture 04: Divide and Conquer Design Paradigm.
Lecture 05: Quicksort.
Lecture 06a: Analysis of Quicksort.
Lecture 06b: Randomized Quicksort.
Lecture 07: Medians and Order Statistics.
Lecture 08: Heapsort.
Lecture 09: Sorting in Linear Time.
Lecture 10: Dynamic Programming.
Lecture 11: Greedy Algorithms.
Lecture 12: Graphs.
Lecture 13: BFS.
Lecture 14: DFS.
Lecture 14b: Topological Sort.
Lecture 15: SCC.
Lecture 16: MST.
Lecture 17: Kruskal Prim.
Lecture 18: Disjoint Set Operations.
Last updated: