Memilih algoritma pengurutan bergantung pada beberapa properti: kompleksitas waktu, stabilitas, penggunaan memori in-place, dan sifat data. Tidak ada satu algoritma yang unggul di mana-mana.
Memilih algoritma pengurutan bergantung pada beberapa properti: kompleksitas waktu, stabilitas, penggunaan memori in-place, dan sifat data. Tidak ada satu algoritma yang unggul di mana-mana.
| Algoritma | Waktu rata-rata | Kasus terburuk | Stabil | In-place |
|---|---|---|---|---|
| Penyisipan | O(n²) | O(n²) | Ya | Ya |
| Gabungkan | O(n log n) | O(n log n) | Ya | Tidak |
| Cepat | O(n log n) | O(n²) | Tidak | Ya |
| Tumpukan | O(n log n) | O(n log n) | Tidak | Ya |
# Most languages ship a tuned hybrid; prefer it in production
sorted(data, key=lambda x: x.priority) # stable Timsort in Python
Jangan buat pengurutan sendiri kecuali Anda memiliki alasan khusus — pengurutan pustaka (Timsort, introsort) adalah hybrid yang telah teruji.
Menyesuaikan pengurutan dengan data dan persyaratan menghindari pemborosan waktu dan bug halus (seperti kehilangan stabilitas).
Memahami trade-off menjelaskan mengapa pustaka standar memilih hybrid seperti Timsort dan introsort.
Pertimbangan komparatif ini — bukan menghafal satu algoritma — adalah apa yang dihargai oleh rekayasa nyata dan wawancara.