List of algorithms

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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

Contents

Combinatorial algorithms[edit]

General combinatorial algorithms[edit]

Graph algorithms[edit]

Graph drawing[edit]

Network theory[edit]

Routing for graphs[edit]

Graph search[edit]

Subgraphs[edit]

Sequence algorithms[edit]

Approximate sequence matching[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 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]

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

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]

Operating systems algorithms[edit]

Networking[edit]

Process synchronization[edit]

Scheduling[edit]

Disk scheduling[edit]

See also[edit]

References[edit]