Skip to main content
Sorting algorithms are a set of techniques used to arrange elements, with each algorithm having its own strengths and weaknesses, making it suitable for different scenarios and types of data.

Sorting Algorithms

NameStable?TimeSpace
Bubble SortYesO(n^2)O(1)
Selection SortNoO(n^2)O(1)
Insertion SortYesO(n^2)O(1)
Merge SortYesO(n log(n))O(n)
Quick SortNoO(n log(n)) (worst: O(n^2))O(log(n))
Counting SortYesO(n + k)O(k)
Radix SortYesO(nk)O(n + k)
Heap SortNoO(n log(n))O(1)
  • Stable: Equal elements keep their original order.
  • Unstable: Equal elements might not keep their original order.