This repository contains my solutions for the Algorithms Lab course at ETH Zurich (Fall 2020). The course focuses on competitive programming, as it requires the students to solve programming exercises in C++ under time constraints. Given the spirit of the course, some solutions might not follow coding's best practices.
A wide spectrum of topic is covered, including sliding window, dynamic programming, greedy strategies, and the use of libraries such as CGAL and BGL, to tackle flow, linear programming, graph and geometric tasks. All my solutions give 100 points on the judge.
- Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.
- LeetCode: great source to practice similar (but often simpler) problems.
- VisuAlgo: interactive animations of some data structures and algorithms.
- My algorithms repository provides a light introduction to the basic algorithms (essential, but often implemented in libraries for the purpose of this course).
- Boost Graph Library
- Algorithms in C++, by Robert Sedgewick. The fifth volume is an excellent resource to master the basic graph algorithms.
- See Chapter 3 here.
- The slides here provide an excellent introduction to Delaunay triangulations.
- The CGAL library has an excellent documentation and some good tutorials.
- See Chapter 4 here, especially the first sections for practical purposes.