TOPICS
Search

Computational Complexity


Computational complexity quantifies the resources required to perform a computational process or execute an algorithm. A computational complexity measure specifies a model of computation, a resource, and an input-size parameter, then records the resource usage as a function of that size. Common resources are computation time and memory, giving time and space complexity, respectively. Their growth is normally described using asymptotic notation, with separate best-case, average-case, and worst-case measures when these differ.

A complexity class groups computational problems according to a computational model and resource bound. For decision problems, the class P consists of problems solvable in polynomial time by a deterministic Turing machine, while NP consists of problems solvable in polynomial time by a nondeterministic Turing machine. Equivalently, proposed solutions to NP problems can be verified in polynomial time. The inclusion P subset= NP is known, but whether P=NP is the P versus NP problem. An NP-hard problem is at least as hard as every problem in NP, and an NP-complete problem is both NP-hard and in NP. The classification of problems by such resource requirements is studied in complexity theory (Du and Ko 2000).


See also

Algorithm, Asymptotic Notation, Big-O Notation, Complexity Theory, Computation Time, Decision Problem, NP-Complete Problem, NP-Hard Problem, NP-Problem, P-Problem, P Versus NP Problem, Turing Machine

Explore with Wolfram|Alpha

References

Du, D.-Z. and Ko, K.-I. Theory of Computational Complexity. New York: Wiley, 2000.Weisstein, E. W. "Books about Computational Complexity." http://www.ericweisstein.com/encyclopedias/books/ComputationalComplexity.html.

Referenced on Wolfram|Alpha

Computational Complexity

Cite this as:

Weisstein, Eric W. "Computational Complexity." From MathWorld--A Wolfram Resource. https://mathworld.wolfram.com/ComputationalComplexity.html

Subject classifications