openskills.info
Course Preview

Computational Complexity

Computational complexity classifies problems by the resources required to solve them as input size grows. It defines classes like P, NP, and PSPACE, giving a framework for understanding which problems are tractable, which are hard, and what that hardness means in practice.

itComputer fundamentals

Computational Complexity

Computational complexity asks how the resources needed to solve a problem grow as the input grows. Time is the most familiar resource. Memory, randomness, communication, and circuit size can matter too.

This subject gives you a map of computational difficulty. It helps you separate three questions:

  1. Can any algorithm solve the problem?
  2. If so, how much of a resource does an algorithm use?
  3. Can every algorithm be forced to use at least some amount of that resource?

The first question belongs to computability. Complexity theory focuses on the next two.

Problems, inputs, and resource models

A problem describes a required output for every valid input. An algorithm is a method for producing that output. Complexity attaches a cost to the algorithm as a function of input size.

Continue the course

This section is part of the paid course.

See pricing to subscribe, or log in if you already have access.

Sources