Developer Toolbox

Sortare prin interclasare

Împarte lista în două jumătăți, sortează fiecare jumătate, apoi le unește într-o singură listă sortată.

  • Ω(n log n)
  • Θ(n log n)
  • O(n log n)
  • O(n)
  • da
  • nu
  • comparare
  • mutare
  • pe poziția finală
0 / 263 pași

↓ împărțire ↓ interclasare Interclasări făcute: 0 din 23

Comparații Scrieri

Apasă pe redare: liniile arată cum crește costul în timpul sortării

Apasă pe redare sau parcurge algoritmul pas cu pas.

Space: redă sau pauză. Săgețile stânga și dreapta: pas cu pas. Home și End: salt.

Încearcă: Alege o listă cu puține valori unice. Dintre două valori egale se ia întâi cea din jumătatea stângă, deci cele egale își păstrează ordinea.

Cum funcționează

Împarte lista iar și iar, până când fiecare bucată are o singură valoare, deci e deja sortată. Apoi unește bucățile două câte două: compară primele valori din cele două bucăți și o ia pe cea mai mică, până se termină. Rândul de sus din animație e spațiul suplimentar folosit la unire.

Când este o alegere bună

Când ai nevoie de o viteză care rămâne bună chiar și în cel mai rău caz, iar valorile egale trebuie să-și păstreze ordinea. Python și Java folosesc amândouă o variantă a acestui algoritm. Minusul e memoria suplimentară de care are nevoie.