Notessh2a

Sorting

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.

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.