Jump to content

List of algorithms

From Wikipedia, the free encyclopedia

Broad definition of the term algorithm[edit]

An algorithm is fundamentally a set of rules or defined procedures that is typically designed and used to solve a specific problem or a broad set of problems.

Broadly, algorithms define process(es), sets of rules, or methodologies that are to be followed in calculations, data processing, data mining, pattern recognition, automated reasoning or other problem-solving operations. With the increasing automation of services, more and more decisions are being made by algorithms. Some general examples are; risk assessments, anticipatory policing, and pattern recognition technology.[1]

The following is a list of well-known algorithms along with one-line descriptions for each.

Automated planning[edit]

Combinatorial algorithms[edit]

General combinatorial algorithms[edit]

Graph algorithms[edit]

Graph drawing[edit]

Network theory[edit]

Routing for graphs[edit]

Graph search[edit]


Sequence algorithms[edit]

Approximate sequence matching[edit]

Selection algorithms[edit]

Sequence search[edit]

Sequence merging[edit]

  • Simple merge algorithm
  • k-way merge algorithm
  • Union (merge, with elements on the output not repeated)

Sequence permutations[edit]

Sequence combinations[edit]

Sequence alignment[edit]

Sequence sorting[edit]



Computational mathematics[edit]

Abstract algebra[edit]

Computer algebra[edit]


Number theoretic algorithms[edit]

Numerical algorithms[edit]

Differential equation solving[edit]

Elementary and special functions[edit]


Interpolation and extrapolation[edit]

Linear algebra[edit]

Monte Carlo[edit]

Numerical integration[edit]

Root finding[edit]

Optimization algorithms[edit]

Hybrid Algorithms

Computational science[edit]




  • Vincenty's formulae: a fast algorithm to calculate the distance between two latitude/longitude points on an ellipsoid
  • Geohash: a public domain algorithm that encodes a decimal latitude/longitude pair as a hash string





Computer science[edit]

Computer architecture[edit]

  • Tomasulo algorithm: allows sequential instructions that would normally be stalled due to certain dependencies to execute non-sequentially

Computer graphics[edit]


Digital logic[edit]

Machine learning and statistical classification[edit]

Programming language theory[edit]


Quantum algorithms[edit]

Theory of computation and automata[edit]

Information theory and signal processing[edit]

Coding theory[edit]

Error detection and correction[edit]

Lossless compression algorithms[edit]

Lossy compression algorithms[edit]

Digital signal processing[edit]

Image processing[edit]

Software engineering[edit]

Database algorithms[edit]

Distributed systems algorithms[edit]

Memory allocation and deallocation algorithms[edit]


Operating systems algorithms[edit]

Process synchronization[edit]


I/O scheduling[edit]

Disk scheduling[edit]

See also[edit]


  1. ^ "algorithm". LII / Legal Information Institute. Retrieved 2023-10-26.
  2. ^ Gegenfurtner, Karl R. (1992-12-01). "PRAXIS: Brent's algorithm for function minimization". Behavior Research Methods, Instruments, & Computers. 24 (4): 560–564. doi:10.3758/BF03203605. ISSN 1532-5970.
  3. ^ "richardshin.com | Floyd's Cycle Detection Algorithm". 2013-09-30. Retrieved 2023-10-26.
  4. ^ "Eytzinger Binary Search - Algorithmica". Retrieved 2023-04-09.
  5. ^ "Shannon-Fano-Elias Coding" (PDF). my.ece.msstate.edu. Archived from the original (PDF) on 2021-02-28. Retrieved 2023-10-11.
  6. ^ "Archived copy" (PDF). www.vision.ee.ethz.ch. Archived from the original (PDF) on 21 February 2007. Retrieved 13 January 2022.{{cite web}}: CS1 maint: archived copy as title (link)
  7. ^ "Archived copy" (PDF). Archived from the original (PDF) on 2013-10-06. Retrieved 2013-10-05.{{cite web}}: CS1 maint: archived copy as title (link)