| Algorithm | Time | Space | Stable | Use Case |
|---|---|---|---|---|
| Counting Sort | O(n + k) | O(n + k) | Yes | Small range integers |
| Radix Sort | O(d * n) | O(n + k) | Yes | Fixed-length integers/strings |
| Situation | Best Choice | Why |
|---|---|---|
| Integers in range [0, k] | Counting Sort | O(n + k), simple |
| Large integers, small digits | Radix Sort | O(d * n), handles big numbers |
| Fixed-length strings | Radix Sort | Sort character by character |
| Range k > n log n | Comparison Sort | O(n log n) beats O(n + k) |