Sorting algorithms in JavaScript. For academic purposes rather than production.
| Type | Best | Average | Worst | Space |
|---|---|---|---|---|
| Bubble Sort | Ω(n) | Θ(n²) | O(n²) | O(1) |
| Insertion Sort | Ω(n) | Θ(n²) | O(n²) | O(1) |
| Selection Sort | Ω(n²) | Θ(n²) | O(n²) | O(1) |
| Heap Sort | Ω(n log n) | Θ(n log n) | O(n log n) | O(1) |
| Merge Sort | Ω(n log n) | Θ(n log n) | O(n log n) | O(n) |
| Quick Sort | Ω(n log n) | Θ(n log n) | O(n²) | O(log n) |
| Bucket Sort | Ω(n + k) | Θ(n + k) | O(n²) | O(n) |
| Counting Sort | Ω(n + k) | Θ(n + k) | O(n + k) | O(k) |
| Radix Sort | Ω(nk) | Θ(nk) | O(nk) | O(n + k) |
| Cycle Sort | Ω(n²) | Θ(n²) | O(n²) | O(1) |
Can run tests via npm test
MIT License, Copyright (c) 2016 Jordan Santell