This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) ...
This is an advanced undergraduate course on algorithms. This course examines such topics as greedy algorithms, dynamic programming, graph algorithms, string processing, and algorithms for ...
This course studies approximation algorithms – algorithms that are used for solving hard optimization problems. Such algorithms find approximate (slightly suboptimal) solutions to optimization ...