Computational complexity theory is the study of the inherent difficulty of computational problems and the resources required to solve them. It classifies problems according to measures such as time, space, and reducibility between problem classes.
Focuses on classifying computational problems according to their inherent difficulty, and relating these classes to each other. A computational problem is a task solved by a computer. A computation problem is solvable by mechanical application of mathematical steps, such as an algorithm.