This class focuses on the design and analysis of algorithms, with topics including:
- general principles of algorithm design and analysis,
- flow problems on graphs,
- amortized analysis and advanced data structures,
- theory of NP-completeness,
- approximation methods for hard problems,
- other topics.
Prerequisites are basic knowledge of algorithms and relevant mathematics. All Bachelor and Master students interested in advanced algorithmic techniques are welcome.