Additional Useful Resources
For a compiled and well-formatted version of the lecture notes for this course, see Keven Qiu’s notes.
Books:
There is no required textbook for this course, but the following books are suggested if you want to deepen your knowledge on the subject.
- [CLRS] Cormen, Leiserson, Rivest, and Stein, Introduction to Algorithms (3rd ed.), MIT Press, 2009 (QA76.6 .C662 2009). You can also use the 2nd edition, which is available electronically through the library.
- [MR] Motwani and Raghavan, Randomized Algorithms, Cambridge University Press, 1995 (QA274.M68)
- [KT] Kleinberg and Tardos, Algorithm Design (QA76.9.A43K54 2006)
- [MU] M. Mitzenmacher and E. Upfal, Probability and Computing, Cambridge University Press, 2005 (QA274 .M574 2005)
- [V] V. Vazirani, Approximation Algorithms, Springer-Verlag, 2001 (QA76.9.A43 V39)
- [WS] D. Williamson and D. Shmoys, Design of Approximation Algorithms
- [H] D.S. Hochbaum, ed., Approximation Algorithms For NP-Hard Problems, PWS, 1997 (T57.7.A68)
- [BE] Borodin and El-Yaniv, Online Computation and Competitive Analysis, Cambridge University Press, 1998 (QA76.9.A43 B67)
- [BPT] Blekherman, Parrilo, Thomas, Semidefinite Optimization and Convex Algebraic Geometry
- [GLS] Grotschel, Lovasz, Schrijver, Geometric Algorithms and Combinatorial Optimization
- [S] Schrijver, Theory of Linear and Integer Programming
- [S1] Schrijver, Combinatorial Optimization A
- [S1] Schrijver, Combinatorial Optimization B
- [KV] Korte, Vygen, Combinatorial Optimization: Theory and Algorithms
- [BV] Boyd, Vandenberghe Convex Optimization
Other web resources:
- Jeff Erickson’s algorithms notes (with many exercises)
- Erik Demaine’s Design and Analysis of Algorithms course
- David Eppstein’s Data Structures course (with wikipedia course notes)
- MIT’s 6.006 course with video lectures
- Erik Demaine’s Advanced Data Structures course (with video lectures)
- Lap Chi Lau’s version of CS 466
- Anna Lubiw’s version of CS 466
- My previous version of CS 466
- Avrim Blum and Daniel Sleator’s Graduate Algorithms
- Offerings from Harvard
- Jelani’s Advanced Algorithms
- MIT 6.046 Fall 2013, Spring 2015, Spring 2013, Fall 2011, Fall 2010
- Ankur Moitra’s Advanced Algorithms
- Ankur Moitra’s book on Algorithmic Aspects of Machine Learning
- Highlights in Algorithms Workshop
- Computational Geometry Lecture Notes
- Anna Lubiw’s Computational Geometry Course
- Princeton’s Advanced Algorithms Fall 2013 Course
- List of courses for algorithms in big data
- Algorithms in the “real world” notes
- Yaron Singer’s Advanced Optimization
- Luca Trevisan’s Optimization and Algorithmic Paradigms
- Anupam Gupta and Ryan O’Donnell’s Advanced Approximation Algorithms
- Anumpam Gupta and Ryan O’Donnell’s Linear Programming and Semidefinite Programming
Further reading:
- Avi Wigderson’s new book, Math and Computation
- Sebastien Bubeck’s book, Convex Optimization: Algorithms and Complexity
- Survey on Multiplicative Weights Update
Further Links on Course Topics
Interview Preparation
The following resource, while not useful for the course, could be useful for technical interviews you may have:
- Adnan Aziz and Amit Prakash,
Algorithms for Interviews, 2010.
Nice small collection of problems and solutions