Areas
The site puts each page in one of 31 areas. An area has sub-areas. A grey tile has no pages yet.
- FoundationsThe models, the measures and the proof methods that the rest of the site uses.
- TechniquesThe general methods of algorithm design, such as divide and conquer and dynamic programming.
- Data structuresThe ways to store data so that the operations on it are fast.
- SortingAlgorithms that put items in order, and the problems near sorting.
- SearchingAlgorithms that find an item, or a value with a property, in a collection.
- SequencesProblems on arrays and sequences, such as sums, subarrays, subsequences and intervals.
- GraphsAlgorithms on graphs and trees, such as traversal, paths, flows and matching.
- StringsAlgorithms that match, index and compare strings.
- Automata and parsingFinite automata, regular expressions and parsers.
- Number theoryAlgorithms on integers, such as divisibility, primes, modular arithmetic and factoring.
- AlgebraExact arithmetic on numbers, polynomials and matrices, and fast transforms.
- NumericalAlgorithms on real numbers in floating point.
- GeometryAlgorithms on points, lines and shapes in the plane and in space.
- CombinatoricsAlgorithms that generate and count combinatorial objects.
- OptimizationAlgorithms that find the best solution under constraints.
- Logic and constraintsSolvers for logic formulas and constraint problems.
- RandomizedAlgorithms that use random choices, and how to analyse them.
- ApproximationAlgorithms that find a near-best solution with a proved bound.
- Online and streamingAlgorithms that get the input one item at a time.
- ParallelAlgorithms for many processors that share memory or work in bulk steps.
- DistributedAlgorithms for many machines that send messages to each other.
- ConcurrencyAlgorithms for threads that share memory at the same time.
- CryptographyAlgorithms that keep data secret and prove who sent it.
- Compression and codingAlgorithms that make data smaller, or protect it from errors.
- Machine learningAlgorithms that learn a model from data.
- SystemsAlgorithms inside operating systems, databases and networks.
- BiologyAlgorithms for sequences and structures in biology.
- Graphics and signalsAlgorithms for images, curves, rendering and signals.
- Games and searchAlgorithms that play games, plan and solve puzzles.
- QuantumAlgorithms for quantum computers.
- ComplexityWhat each problem needs, with classes, reductions and lower bounds.