P, NP and NP-Complete Problems