Roughgarden T. Algorithms Illuminated. Part 1-3. 2017-2019