Implementations: My Github
Quick view
Name | Best ($\Omega$) | Average ($\Theta$) | Worst ($O$) | Worst(Space Complexity) |
---|---|---|---|---|
Selection Sort | $\Omega(n^2)$ | $\Theta(n^2)$ | $O(n^2)$ | $O(1)$ |
Bubble Sort | $\Omega(n)$ | $\Theta(n^2)$ | $O(n^2)$ | $O(1)$ |
Insertion Sort | $\Omega(n)$ | $\Theta(n^2)$ | $O(n^2)$ | $O(1)$ |
Quick Sort | $\Omega(n\log{n})$ | $\Theta(n\log{n})$ | $O(n^2)$ | $O(\log{n})$ |
Heap Sort | $\Omega(n\log{n})$ | $\Theta(n\log{n})$ | $O(n\log{n})$ | $O(1)$ |
Merge Sort | $\Omega(n\log{n})$ | $\Theta(n\log{n})$ | $O(n\log{n})$ | $O(n)$ |
Radix Sort | $\Omega(nk)$ | $\Theta(nk)$ | $O(nk)$ | $O(n+k)$ |
Break up a problem into sub-problems, solve each sub-problem independently, and combine solution to sub-problems to form solution to original problem.