Garey, M.R. and Johnson, D.S. (1979) Computers and intractability: a guide to the theory of NP-completeness. New York: W. H. Freeman.
Harry R. Lewis (1998) Elements of the theory of computation. Upper Saddle River, N.J: Prentice-Hall.
Hopcroft, John.E., Motwani, R. and Ullman, J.D. (2003) Introduction to Automata Theory, Languages, and Computation. Pearson Education.
Rayward-Smith, V.J. (1986) A first course in computability. Oxford: Blackwell Scientific.
Sipser, M. (2013) Introduction to the theory of computation. 3rd ed., International ed. Australia: Cengage Learning.