Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Field

Algorithms and Complexity Theory

Also Known As Computational Complexity Theory
Theory Of Computation

Algorithms and Complexity Theory studies what can be computed, how efficiently it can be computed, and how to prove the answer. It gives every other field of computing its shared vocabulary of running time, correctness and provable limits, from Euclid's algorithm for the greatest common divisor through to the sorting and searching algorithms taught in every introductory course. Its central practical question is how the resources an algorithm needs, most often time and memory, grow as the size of its input grows, and its central theoretical question is which problems admit an efficient algorithm at all.

Facts
Disputed
Origin Year
1936
Informal algorithms are ancient, Euclid's algorithm dates to around 300 BCE, but the field as a distinct mathematical discipline is usually dated to 1936, when Alan Turing and, independently, Alonzo Church gave the first formal definitions of what it means for a procedure to be computable at all.
Core Concern
What can be computed at all, how efficiently a solution can be found, and how to prove a bound on that efficiency. 1
Algorithms and Complexity Theory
Filter Results4 entries
Connections

Associated With

Computational Science, Fields

Field-to-field association; both are standard neighbouring areas of computing

Computer algebra is defined by Wikipedia as the study and development of algorithms for manipulating mathematical expressions, placing it alongside the atlas's algorithms and complexity theory field.

Source Computer Algebra (Wikipedia)
DNA Computing, Fields

Field-to-field association; both are standard neighbouring areas of computing

Source Wikipedia: Quantum computing

Includes

Ada Lovelace, Pioneers
Source The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital RevolutionWalter Isaacson
Alan Turing, Pioneers
Source Alan Turing: The EnigmaAndrew Hodges
Algorithm, Concepts
Source Encyclopedia Britannica: Computer ScienceEncyclopedia Britannica Editors
Array, Concepts
AVL Tree, Concepts
Source Wikipedia: Big O notation
Source Wikipedia: Binary search tree
Bloom Filter, Concepts
BPP, Concepts
B-Tree, Concepts
Co-NP, Concepts
Source Wikipedia: Depth-First Search
Deque, Concepts
Disjoint Set, Concepts
Source Wikipedia: Dynamic Programming
EXPTIME, Concepts
Fenwick Tree, Concepts
Graph, Concepts
Hash Table, Concepts
Heap, Concepts
Heapsort, Algorithms
Linked List, Concepts
Source Encyclopedia Britannica: Computer ScienceEncyclopedia Britannica Editors
Merge Sort, Concepts
Source Wikipedia: Merge sort
Source Wikipedia: NP-completeness
NP-Hard, Concepts
P versus NP, Concepts
Source Wikipedia: P versus NP Problem
PageRank, Concepts
PSPACE, Concepts
Queue, Concepts
Source Wikipedia: Queue (Abstract Data Type)
Quicksort, Concepts
Radix Sort, Algorithms
Recursion, Concepts
Source Encyclopedia Britannica: Computer ScienceEncyclopedia Britannica Editors
Segment Tree, Concepts
Shell Sort, Algorithms
Skip List, Concepts
Stack, Concepts
Source Wikipedia: Stack (Abstract Data Type)
Suffix Array, Concepts
Suffix Tree, Concepts
Tony Hoare, Pioneers
Trie, Concepts
Source Alan Turing: The EnigmaAndrew Hodges

Long-Form Articles

Open Questions

Source Wikipedia: P versus NP Problem
Sources
1. IEEE Annals of the History of Computing
IEEE Computer Society, 1979Field-naming discussionView the Source
Encyclopedia Britannica: Computer Science
Encyclopedia Britannica Editors, Encyclopaedia Britannica Inc, 2024View the Source
Alan Turing: The Enigma
Andrew Hodges, Burnett Books, 1983
  • Includes: Alan Turing
  • Includes: Turing Machine
The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution
Walter Isaacson, Simon and Schuster, 2014Includes: Ada Lovelace
Wikipedia: Big O notation
WikipediaIncludes: Big O NotationView the Source
Wikipedia: NP-completeness
Wikimedia FoundationIncludes: NP-CompletenessView the Source
Wikipedia: Dynamic Programming
Wikimedia FoundationIncludes: Dynamic ProgrammingView the Source
Wikipedia: Stack (Abstract Data Type)
Wikimedia FoundationIncludes: StackView the Source
Wikipedia: Queue (Abstract Data Type)
Wikimedia FoundationIncludes: QueueView the Source
Wikipedia: Depth-First Search
Wikimedia FoundationIncludes: Depth-First SearchView the Source
Wikipedia: P versus NP Problem
Wikimedia FoundationIncludes: P versus NPView the Source
Wikipedia: Quantum computing
Wikimedia FoundationAssociated With: Quantum Computing, Lead section
Quote, Associated With: Quantum Computing, Lead section
A quantum computer is a computer that represents and processes information using quantum states.
View the Source
Wikipedia: Merge sort
Wikimedia FoundationIncludes: Merge Sort, History sectionView the Source
Wikipedia: Binary search tree
Wikimedia FoundationIncludes: Binary Search Tree, History sectionView the Source
Computer Algebra (Wikipedia)
Wikimedia FoundationAssociated With: Computer Algebra, Lead section
Quote, Associated With: Computer Algebra, Lead section
Computer algebra, also called symbolic computation or algebraic computation, is a scientific area that refers to the study and development of algorithms and software for manipulating mathematical expressions.
View the Source
Open Questions (1 open question)
Does P equal NP?

The P versus NP problem is a major unsolved problem in theoretical computer science: it asks whether every decision problem whose proposed positive answer can be quickly verified can also be quickly solved. Stephen Cook introduced its precise statement in 1971, and despite half a century of effort nobody has proved the classes equal or unequal; it is one of the seven Millennium Prize Problems, with a one million dollar prize for the first correct solution.

What would resolve this A proof that every problem in NP admits a polynomial time algorithm, or a proof that some NP problem admits none. Either direction would be among the most consequential results in the history of mathematics and computing.
Computational complexity theory, MathematicsWikipedia: P versus NP Problem
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.