Algorithms Design and Analysis
About the course:
This is an introductory graduate course on algorithms. Topics covered include mathematics of algorithm analysis, divide and conquer, randomization, greedy algorithms, dynamic programming, hashing, amortized analysis, data structures, graph algorithms, network flow, NP-completeness, and approximation algorithms.
References:
G. Pandurangan. Algorithms (pdf).
2 . Cormen et al., Introduction to Algorithms.
3. D. Kozen., Design and analysis of algorithms.
4. Kleinberg and Tardos. Algorithms.
Lecture Notes:
Amortized Analysis and Union Find