Outline of algorithms
Overview of and topical guide to algorithms
The following outline is provided as an overview of and topical guide to algorithms:
An algorithm is a finite, well-defined sequence of instructions or rules for solving a problem or performing a computation. Algorithms are central to computer science, mathematics, operations research, artificial intelligence, cryptography, data compression, computer graphics, bioinformatics, and many other fields. The study of algorithms includes their design, proof of correctness, efficiency, computational complexity, and implementation in computer programs.
Nature of algorithms
- Algorithm — finite sequence of instructions for solving a problem or performing a computation
- Computer program — implementation of algorithms and data-processing instructions in a programming language
- Data structure — organization of data used by algorithms
- Heuristic — practical problem-solving method that may not guarantee an optimal solution
- Pseudocode — informal notation for describing algorithms
- Specification — formal or informal statement of what an algorithm is intended to do
- State — stored information used during a computation
- Termination analysis — study of whether an algorithm eventually halts
- Turing machine — mathematical model of computation used in computability theory
Algorithm design paradigms
Arrays, lists, and sequences
Operating system and memory-management algorithms
Sorting and order statistics
Graph algorithms
Spanning trees and connectivity
Network flow and matching
Graph coloring and hard graph problems
Numerical and mathematical algorithms
Arithmetic and number theory
Numerical optimization and approximation
Artificial intelligence and machine learning algorithms
AI-assisted algorithm discovery
Cryptographic algorithms
Hashing and authentication
Compression algorithms
Lossy compression techniques
Computational geometry algorithms
Computer graphics and image-processing algorithms
Distributed, concurrent, and networking algorithms
Complexity classes and algorithmic limits
Notable people
Algorithm design and analysis
Graph, network, and optimization algorithms
Cryptography and randomized algorithms
Artificial intelligence and search algorithms