Het kiezen van een sort komt neer op enkele eigenschappen: tijdcomplexiteit, stabiliteit, in-place geheugengebruik en de aard van de gegevens. Geen enkel sort wint overal.
Het kiezen van een sort komt neer op enkele eigenschappen: tijdcomplexiteit, stabiliteit, in-place geheugengebruik en de aard van de gegevens. Geen enkel sort wint overal.
| Algoritme | Gem. tijd | Slechtste | Stabiel | In-place |
|---|---|---|---|---|
| Insertion | O(n²) | O(n²) | Ja | Ja |
| Merge | O(n log n) | O(n log n) | Ja | Nee |
| Quick | O(n log n) | O(n²) | Nee | Ja |
| Heap | O(n log n) | O(n log n) | Nee | Ja |
# Most languages ship a tuned hybrid; prefer it in production
sorted(data, key=lambda x: x.priority) # stable Timsort in Python
Gebruik zelf geen sort tenzij u een specifieke reden heeft — bibliotheeeksorts (Timsort, introsort) zijn gehard geteste hybriden.
Het afstemmen van de sort op de gegevens en vereisten voorkomt zowel verspilde tijd als subtiele bugs (zoals het verliezen van stabiliteit).
Het begrijpen van de afwegingen legt uit waarom standaardbibliotheken hybriden zoals Timsort en introsort kozen.
Deze vergelijkende beoordeling — niet het memoriseren van één algoritme — is wat echte engineering en interviews belonen.