1. Michael Sipser. Introduction to the Theory of Computation, volume 2. Thomson Course Technology Boston, USA, 2006.
2. Sanjeev Arora and Boaz Barak. Computational complexity: a modern approach. Cambridge University Press, USA, 2009.
3. Thomas Cormen, Charles Eric Leiserson, Ronald Linn Rivest, and Clifford Stein. Introduction to Algorithms. The MIT Press, USA, 3rd edition, 2009.
4. Christos Harilaos Papadimitriou. Computational complexity. Addison-Wesley, USA, 1994.
5. Stephen Arthur Cook. The P versus NP Problem. http://www.claymath.org/sites/default/files/pvsnp.pdf, April 2000. Clay Mathematics Institute. Accessed 9 January 2023.