This repository contains my notes for the Algorithms & Data Structures course at ETH Zurich (Fall 2021). The course introduces the basics of algorithms and data structures, covering topics such as:
- Induction
- Divide & Conquer paradigm
- Asymptotic notation
- Sorting & Searching
- Dynamic Programming
- Data Structures (stack, queue, binary search trees, AVL trees...)
- Graph theory
- Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.
- Algorithms in C++, by Robert Sedgewick.
- LeetCode: great source to practice similar (but often simpler) problems.
- VisuAlgo: interactive animations of some data structures and algorithms.
- My algorithms repository provides the implementation of most algorithms covered in the lecture.