Birleştirme sıralaması (merge sort)
Kısaca: Birleştirme sıralaması listeyi iki yarıya böler, ikisini özyinelemeli sıralar ve sıralı yarıları sıralı bir listede birleştirir. Her durumda O(n log n)‘de çalışır ve kararlıdır.
Biraz daha ayrıntılı: Hızlı sıralamanın aksine birleştirme sıralamasının kötü bir özel durumu yoktur; karşılığında O(n) ek bellek gerektirir. Bağlı listeler için ve ana belleğe sığmayan verileri sıralamak için (harici sıralama) çok uygundur.
Ayrıntılı
def merge_sort(items):
if len(iteAyrıca bak: Hızlı sıralama, Kabarcık sıralaması, Sıralama, Özyineleme