Study of computational problem difficulty. Play Complexity Theory trivia solo to sharpen your knowledge, or challenge a friend head-to-head in Trivia Tango — every question comes with an explanation so you learn as you play.
Think you know the answers? Play to find out.
Written as a capital letter with parentheses like O(n²), this mathematical shorthand describes how an algorithm's runtime scales with input size.
An algorithm that runs in the same amount of time regardless of input size is said to have this type of time behavior.
When an algorithm's runtime doubles each time you add one more element to the input, it exhibits this explosive scaling behavior.
This famous unsolved question asks whether every problem whose solution can be quickly verified can also be quickly solved.
This computational class contains all problems solvable in a reasonable amount of time, growing at most as a power of the input size.
A binary search achieves its speed by repeatedly halving the search space, resulting in this efficient runtime.
This class of problems can have their solutions verified quickly, even if finding the solution might be much harder.
Merge sort and quicksort achieve this runtime by dividing problems into smaller subproblems and combining results.