Introduction
This course presents the fundamental techniques for designing efficient computer algorithms, proving their correctness, and analyzing their running times. We will discuss a number of topics, including greedy algorithms, divide and conquer algorithms, dynamic programming, network flow algorithms, NP completeness and computational intractability, approximation algorithms, and randomized algorithms.
For further information, please see the course syllabus.
General Information
Piazza
Importance class announcements will be made through Piazza. Once class has started, I'll send invitations to join the system.
|