P, NP and NP - completeness - the basics of computational complexity - Goldreich, Oded (CUP, 2010)