A rendezés kiválasztása néhány tulajdonságra épül: időbonyolultság, stabilitás, helybeli memória-használat, és az adatok jellegzetessége. Egyetlen rendezés sem győztes mindenhol.
A rendezés kiválasztása néhány tulajdonságra épül: időbonyolultság, stabilitás, helybeli memória-használat, és az adatok jellegzetessége. Egyetlen rendezés sem győztes mindenhol.
| Algoritmus | Átl. idő | Legrosszabb | Stabil | Helybeli |
|---|---|---|---|---|
| Beszúrás | O(n²) | O(n²) | Igen | Igen |
| Összefésülés | O(n log n) | O(n log n) | Igen | Nem |
| Gyors | O(n log n) | O(n²) | Nem | Igen |
| Kupac | O(n log n) | O(n log n) | Nem | Igen |
# Most languages ship a tuned hybrid; prefer it in production
sorted(data, key=lambda x: x.priority) # stable Timsort in Python
Ne valósítsd meg saját kezűleg a rendezést, hacsak nincs konkrét oka — a könyvtári rendezések (Timsort, introsort) harctesztelt hibridek.
A rendezés illesztése az adatokhoz és a követelményekhez elkerüli az elvesztett időt és a finom hibákat (mint a stabilitás elvesztése).
A kompromisszumok megértése magyarázza, miért választottak a standard könyvtárak olyan hibrideket, mint a Timsort és az introsort.
Ez az összehasonlító ítélőképesség — nem egy algoritmus memorizálása — az, amit a valódi mérnöki és interjúk megjutalmaznak.