Garey, M. R., & Johnson, D. S. (1979). Computers and intractability: a guide to the theory of NP-completeness: Vol. A series of books in the mathematical sciences. W. H. Freeman.
Harry R. Lewis. (1998). Elements of the theory of computation. Prentice-Hall.
Hopcroft, John. E., Motwani, R., & Ullman, J. D. (2003). Introduction to Automata Theory, Languages, and Computation. Pearson Education.
Rayward-Smith, V. J. (1986). A first course in computability: Vol. Computer science texts. Blackwell Scientific.
Sipser, M. (2013). Introduction to the theory of computation (3rd ed., International ed). Cengage Learning.