# List of algorithms

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
• Smoothsort
• Other
• Unknown class

## 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

## 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.[5]

3. ^ "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)
4. ^ "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)