Broad definition of the term algorithm

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

 Further information: List of algorithms for automated planning

Combinatorial algorithms

 Further information: Combinatorics

Graph algorithms

 Further information: Graph theory and Category:Graph algorithms

Graph drawing

 Further information: Graph drawing

Network theory

 Further information: Network theory

Graph search

 Further information: State space search and Graph search algorithm

Sequence algorithms

 Further information: Sequences

Selection algorithms

 Main article: Selection algorithm

Sequence merging

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

Sequence permutations

 Further information: Permutation

Sequence combinations

 Further information: Combination

Sequence sorting

 Main article: Sorting algorithm
• Exchange sorts
• Bubble sort: for each pair of indices, swap the items if out of order
• Cocktail shaker sort or bidirectional bubble sort, a bubble sort traversing the list alternately from front to back and back to front
• Comb sort
• Gnome sort
• Odd–even sort
• Quicksort: divide list into two, with all items on the first list coming before all items on the second list.; then sort the two lists. Often the method of choice
• Humorous or ineffective
• Hybrid
• Flashsort
• Introsort: begin with quicksort and switch to heapsort when the recursion depth exceeds a certain level
• Timsort: adaptative algorithm derived from merge sort and insertion sort. Used in Python 2.3 and up, and Java SE 7.
• Insertion sorts
• Merge sorts
• Non-comparison sorts
• Selection sorts
• Heapsort: convert the list into a heap, keep removing the largest element from the heap and adding it to the end of the list
• Selection sort: pick the smallest of the remaining elements, add it to the end of the sorted list
• Smoothgamersort
• Other
• Unknown class

Subsequences

 Further information: Subsequence

Substrings

 Further information: Substrings

Computational mathematics

 Further information: Computational mathematics

Abstract algebra

 Further information: Abstract algebra

Computer algebra

 Further information: Computer algebra

Geometry

 Main category: Geometric algorithms
 Further information: Computational geometry

Number theoretic algorithms

 Further information: Number theory

Numerical algorithms

 Further information: Numerical analysis and List of numerical analysis topics

Differential equation solving

 Further information: Differential equation

Elementary and special functions

 Further information: Special functions

Interpolation and extrapolation

 Further information: Interpolation and Extrapolation

Linear algebra

 Further information: Numerical linear algebra

Monte Carlo

 Further information: Monte Carlo method

Numerical integration

 Further information: Numerical integration

Root finding

 Main article: Root-finding algorithm

Optimization algorithms

 Main article: Mathematical optimization

Hybrid Algorithms

Computational science

 Further information: Computational science

Bioinformatics

 Further information: Bioinformatics

Geoscience

 Further information: Geoscience
• 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

 Further information: Computational linguistics and Natural language processing

Medicine

 Further information: Medical algorithms

Physics

 Further information: Computational physics

Statistics

 Further information: Computational statistics

Computer science

 Further information: Computer science

Computer architecture

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

Computer graphics

 Further information: Computer graphics

Cryptography

 Further information: Cryptography and Topics in cryptography

Machine learning and statistical classification

 Main article: List of machine learning algorithms
 Further information: Machine learning and Statistical classification

Programming language theory

 Further information: Programming language theory

Parsing

 Further information: Parsing

Quantum algorithms

 Further information: Quantum algorithm

Theory of computation and automata

 Further information: Theory of computation

Information theory and signal processing

 Main articles: Information theory and Signal processing

Coding theory

 Further information: Coding theory

Error detection and correction

 Further information: Error detection and correction

Lossless compression algorithms

 Main page: Lossless compression algorithms

Lossy compression algorithms

 Main page: Lossy compression algorithms

Digital signal processing

 Further information: Digital signal processing

Image processing

 Further information: Digital image processing

Software engineering

 Further information: Software engineering

Database algorithms

 Further information: Database

Distributed systems algorithms

 Further information: Distributed algorithm and Distributed systems

Networking

 Further information: Network scheduler

Operating systems algorithms

 Further information: Operating systems

Process synchronization

 Further information: Process synchronization
 Further information: Process scheduler

Scheduling

 Further information: Scheduling (computing)

I/O scheduling

 Further information: I/O scheduling
This section needs expansion. You can help by adding to it. (July 2017)

Other

• 'For You' algorithm: a proprietary algorithm developed by the social media network Tik-Tok. Uploaded videos are released first to a selection of users who have been identified by the algorithm as being likely to engage with the video, based on their previous web-site viewing patterns.[10]

8. ^ "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)
9. ^ "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)