List of algorithms

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.

Combinatorial algorithms

Sequence algorithms

Sequence merging

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

Sequence sorting

• 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

Computational mathematics

Optimization algorithms

Hybrid Algorithms

Computational science

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

Computer science

Computer architecture

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

Operating systems algorithms

I/O scheduling

Disk scheduling

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)