Computational complexity theory
theoretical computer science and mathematics theory that classifies problems according to their inherent difficulty, and relates those classes to each other
Computational complexity theory is a part of computer science. It looks at algorithms, and tries to say how many steps or how much memory a certain algorithm takes for a computer to do. Very often, alorithms that use fewer steps use more memory (or the other way round: if you have less memory available, it takes more steps to do). Unfortunately many interesting algorithms take a number of steps that is dependent on the size of the problem.