Kuchagua kupanga kunakuja kwa mali kadhaa: ugumu wa wakati, utulivu, matumizi ya kumbukumbu kwa mahali na asili ya data. Hakuna kila kupanga moja kinachoshinda mahali mote.
Kuchagua kupanga kunakuja kwa mali kadhaa: ugumu wa wakati, utulivu, matumizi ya kumbukumbu kwa mahali na asili ya data. Hakuna kila kupanga moja kinachoshinda mahali mote.
| Algorithm | Wakati wa kawaida | Mbaya zaidi | Thabiti | Kwa mahali |
|---|---|---|---|---|
| Insertion | O(n²) | O(n²) | Ndiyo | Ndiyo |
| Merge | O(n log n) | O(n log n) | Ndiyo | Hapana |
| Quick | O(n log n) | O(n²) | Hapana | Ndiyo |
| Heap | O(n log n) | O(n log n) | Hapana | Ndiyo |
# Most languages ship a tuned hybrid; prefer it in production
sorted(data, key=lambda x: x.priority) # stable Timsort in Python
Usitende kupanga kwa mkono isipokuwa una sababu maalum — kupanga maktaba (Timsort, introsort) ni hybridi iliyojaribu.
Kulingana kupanga na data na mahitaji huepukia wakati uliopotea na hitilafu zenye nidhamu (kama kupoteza utulivu).
Kuelewa kompromiso kunaeleza kwa nini maktaba za kawaida walichagua hybridi kama Timsort na introsort.
Kutofautiana hii — si kukumbuka algorithm moja — ndio inayoweza kujenga uhandisi halisi na mahojiano.
Maktaba ya maswali ya mahojiano ya IT yenye majibu ya kina — kutoka Junior hadi Senior.
Changia