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