There is no textbook required for the course. Lecture notes are available for the current term as well as selected lecture notes from a previous term. Reference textbooks for each topic are listed in the table below. Lecture notes also contain references.

TOPICS | READINGS |
---|---|

Network flows | Ahuja, R. K., T. L. Magnanti, and J. B. Orlin. Network Flows: Theory, Algorithms, and Applications. Upper Saddle River, NJ: Prentice Hall, 1993. ISBN: 9780136175490. |

Data structures | For both splay trees and dynamic trees: Sleator, and Tarjan. "Self-adjusting Binary Search Trees." Cormen, T.H., C.E. Leiserson, R.L. Rivest, and C. Stein. |

Linear programming | Schrijver, A. For the Ellipsoid, 3 references are: Groetschel, M., L. Lovasz, and A. Schrijver. Chvatal, V. Korte, B. H., and J. Vygen. For Interior-point Algorithms, a good reference is: Roos, C., T. Terlaky, and J.-Ph. Vial. |

Convex programming | Boyd, Stephen, and Lieven Vandenberghe. Nemirovski, Arkadi. "Lectures on Modern Convex Optimization." (PDF - 2.7 MB) |

Approximation algorithms | Vazirani, V. Hochbaum, D., ed. Arora, Sanjeev. "Polynomial Time Approximation Schemes for Euclidean Traveling Salesman and Other Geometric Problems." |

Geometric algorithms | de Berg, Mark, O. Cheong, M. van Kreveld, and M. Overmars. |

Streaming algorithms | S. Muthukrishnan, "Data streams: Algorithms and applications", Foundations and Trends in Theoretical Computer Science, Volume 1, issue 2, 2005. |

Number-theoretic algorithms | Lov'asz, L. "An Algorithmic Theory of Numbers, Graphs, and Convexity." In Bach, E., and J. Shallit. |