Overview
Sorting arranges elements in a specific order. Understanding various algorithms helps choose the right one for each situation.When to Choose Which
Quick Sort
General purpose, in-place, average O(n log n)
Merge Sort
Stable, guaranteed O(n log n), linked lists
Heap Sort
In-place, O(n log n), no extra memory
Counting Sort
Linear time for small range integers
Algorithm Implementations
1. Quick Sort
2. Merge Sort
3. Heap Sort
4. Counting Sort
Complexity Comparison
| Algorithm | Best | Average | Worst | Space | Stable |
|---|---|---|---|---|---|
| Quick Sort | O(n log n) | O(n log n) | O(n^2) | O(log n) | No |
| Merge Sort | O(n log n) | O(n log n) | O(n log n) | O(n) | Yes |
| Heap Sort | O(n log n) | O(n log n) | O(n log n) | O(1) | No |
| Counting Sort | O(n + k) | O(n + k) | O(n + k) | O(k) | Yes |