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
edit

Subgraphs

edit

Sequence algorithms

edit

Approximate sequence matching

edit

Selection algorithms

edit
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

Subsequences

edit

Substrings

edit

Computational mathematics

edit

Abstract algebra

edit

Computer algebra

edit

Geometry

edit

Number theoretic algorithms

edit

Numerical algorithms

edit

Differential equation solving

edit

Elementary and special functions

edit

Geometric

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

Astronomy

edit

Bioinformatics

edit

Geoscience

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

Linguistics

edit

Medicine

edit

Physics

edit

Statistics

edit

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

Cryptography

edit

Digital logic

edit

Machine learning and statistical classification

edit

Programming language theory

edit

Parsing

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

Networking

edit

Operating systems algorithms

edit

Process synchronization

edit

Scheduling

edit

I/O scheduling

edit

Disk scheduling

edit

See also

edit

References

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)