Introduction to Algorithms
-
Insertion sort
-
Asymptotic notations I (notes)
-
Asymptotic notations II
-
Merge sort (notes)
-
Maximum subarray
-
More divide & conquer algorithms
-
Solving recurrences I (notes)
-
Solving recurrences II (notes)
-
Matrix multiplication (notes)
-
Closest pair of points
-
The hiring problem (notes)
-
Quicksort (notes)
-
The selection problem (notes)
-
Deterministic algorithm for the selection problem
-
Can we sort in linear time? (notes)
-
Radix sort and bucket sort
-
Introduction to dynamic programming
-
The rod-cutting problem
-
Longest common subsequence
-
Closest pair of points
-
Review of elementary graph algorithms and data structures I
-
Review of elementary graph algorithms and data structures II
-
Minimum Spanning Trees
-
Dijkstra’s Algorithm
-
Introduction to computational complexity I
-
Introduction to computational complexity II
-
Introduction to computational complexity III