From Wikipedia, the free encyclopedia

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.

Combinatorial algorithms

[edit]

General combinatorial algorithms

[edit]

Sequence algorithms

[edit]

Approximate sequence matching

[edit]

Selection algorithms

[edit]

Sequence permutations

[edit]

Sequence combinations

[edit]

Computational mathematics

[edit]

See also: Combinatorial algorithms and Computational science

Number theoretic algorithms

[edit]

Numerical algorithms

[edit]

Differential equation solving

[edit]

Elementary and special functions

[edit]

Interpolation and extrapolation

[edit]

Numerical integration

[edit]

Optimization algorithms

[edit]

Hybrid Algorithms

Computational science

[edit]

See also: Sequence alignment algorithms

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

Computer architecture

[edit]

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

Machine learning and statistical classification

[edit]

Programming language theory

[edit]

Theory of computation and automata

[edit]

Information theory and signal processing

[edit]

Error detection and correction

[edit]

Lossless compression algorithms

[edit]

Lossy compression algorithms

[edit]

Digital signal 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]

  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. ^ Tesler, G. (2020). "Ch. 5.9: Gale-Shapley Algorithm" (PDF). mathweb.ucsd.edu. University of California San Diego. Retrieved 26 April 2025.
  5. ^ Kleinberg, Jon; Tardos, Éva (2005). "Algorithmn Design: 1. Stable Matching" (PDF). cs.princeton.edu. Pearson-Addison Wesley: Princeton University. Retrieved 26 April 2025.
  6. ^ Goel, Ashish (21 January 2019). Ramseyer, Geo (ed.). "CS261 Winter 2018- 2019 Lecture 5: Gale-Shapley Algorithm" (PDF). web.stanford.edu. Stanford University. Retrieved 26 April 2025.
  7. ^ "Eytzinger Binary Search - Algorithmica". Retrieved 2023-04-09.
  8. ^ "Shannon-Fano-Elias Coding" (PDF). my.ece.msstate.edu. Archived from the original (PDF) on 2021-02-28. Retrieved 2023-10-11.
  9. ^ "Archived copy" (PDF). 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)
  10. ^ "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)