Algorithms and Complexity

Design and analysis of algorithms; classical complexity classes.


foundation tier

Algorithms and Complexity addresses design and analysis of algorithms; classical complexity classes. It sits within Theoretical Foundations and inherits that area’s core questions about correctness, scale, and tractability. This page surveys the conceptual axes of the topic and points to the references that frame ongoing research and teaching. The intent is to be useful both as an entry point for newcomers and as an index for practitioners cross-checking their mental model against the field’s primary sources.

Work on algorithms and complexity can be organised around a few interlocking concerns: the formal objects under study, the algorithms or systems that compute over them, the resource trade-offs (time, memory, communication, statistical efficiency), and the empirical or theoretical guarantees that practitioners rely on. The sources cited below approach the topic from a mix of these angles.

Foundational references

Cormen, Introduction to Algorithms (2022) is a standard reference for this material and is used both as a curriculum anchor and as a long-form survey of techniques. Kleinberg, Algorithm Design (2005) is a standard reference for this material and is used both as a curriculum anchor and as a long-form survey of techniques. Arora, Computational Complexity: A Modern Approach (2009) is a standard reference for this material and is used both as a curriculum anchor and as a long-form survey of techniques.

Historical context

Knuth, The Art of Computer Programming, Vol 1-4 (1997) situates the topic in its historical trajectory; revisiting it clarifies which ideas in current practice are recent and which trace back to the field’s founding texts.

Open methodological questions in algorithms and complexity cluster around how to compose the techniques above under realistic constraints — scale, adversarial inputs, partial observability, and shifting workloads. The cited references give the precise statements, proofs, and empirical evaluations that this overview only sketches; downstream topic pages drill into specific subfields.

Prerequisites

Sources

  • textbook · primary · 2022
    Introduction to Algorithms
    cormen-2022
  • textbook · historical · 1997
    The Art of Computer Programming, Vol 1-4
    knuth-1997
  • textbook · primary · 2005
    Algorithm Design
    kleinberg-2005
  • textbook · primary · 2009
    Computational Complexity: A Modern Approach
    arora-2009

In context

Where this topic sits in the prerequisite graph. Click any node to jump.

Open in full atlas →

Explore

  1. 01

    Asymptotic Analysis

    Big-O, Theta, recurrence relations, and amortized analysis.

  2. 02

    Divide and Conquer

    Recursion, master theorem, and classical D&C algorithms.

  3. 03

    Dynamic Programming

    Memoization, optimal substructure, and canonical DP problems.

  4. 04

    Greedy Algorithms

    Exchange arguments, matroids, and classical greedy schemes.

  5. 05

    Graph Algorithms

    Traversal, shortest paths, MSTs, matchings, and flows.

  6. 06

    Network Flow

    Max-flow/min-cut, augmenting paths, and applications.

  7. 07

    String Algorithms

    Pattern matching, suffix structures, and edit distance.

  8. 08

    Computational Geometry

    Convex hulls, Voronoi diagrams, range searching, and arrangements.

  9. 09

    Randomized Algorithms

    Las Vegas and Monte Carlo algorithms, derandomization, and concentration.

  10. 10

    Approximation Algorithms

    Approximation ratios, LP rounding, and hardness of approximation.

  11. 11

    Online Algorithms

    Competitive analysis and online decision making.

  12. 12

    Streaming Algorithms

    Sketching, sublinear-space algorithms, and frequency estimation.

  13. 13

    Sublinear Algorithms

    Property testing and algorithms running in less than linear time.

  14. 14

    Parameterized Complexity

    Fixed-parameter tractability, kernelization, and the W-hierarchy.

  15. 15

    Complexity Classes

    P, NP, coNP, PSPACE, EXP, and the polynomial hierarchy.

  16. 16

    NP-Completeness

    Reductions, Cook-Levin, and canonical NP-complete problems.

  17. 17

    Circuit Complexity

    Boolean circuits, lower bounds, and AC/NC hierarchies.

  18. 18

    Communication Complexity

    Two-party and multi-party communication models and lower bounds.

  19. 19

    Interactive Proofs

    IP, AM, and the IP=PSPACE result.

  20. 20

    Probabilistically Checkable Proofs

    PCP theorem and hardness of approximation.

  21. 21

    Fine-Grained Complexity

    Conditional lower bounds via SETH, 3SUM, and APSP hypotheses.

  22. 22

    Quantum Complexity

    BQP, QMA, and quantum advantage classes.


Review this topic

This page was drafted by an agent and is waiting on expert review. Spotted a wrong prerequisite, a missing concept, a misattributed source, or a factual slip? Tell us — your review opens a tracked issue maintainers act on.