Sanjeev Arora, Boaz Barak: Computational Complexity: A Modern Approach, https://theory.cs.princeton.edu/complexity/book.pdf
D. P. Bovet, P. Crescenzi, Introduction to the theory of complexity, https://www.tcs.ifi.lmu.de/lehre/ws-2015-16/kompl/bovetcrescenzi
D. P. Williamson, D. B. Shmoys: The Design of Approximation Algorithms, https://www.designofapproxalgs.com/book.pdf
A. Pettorossi: Automata Theory and Formal Languages, https://core.ac.uk/download/pdf/53862088.pdf
Avi Wigderson: Mathematics + Computation, https://www.math.ias.edu/avi/book