Ugrás a tartalomhoz

merge sort

A Wikiszótárból, a nyitott szótárból


Főnév

merge sort (tsz. merge sorts)

  1. (informatika) összefésülő rendezés

A merge sort (magyarul: összefésüléses rendezés) egy hatékony, oszd meg és uralkodj (divide and conquer) elven működő összehasonlító rendező algoritmus. Stabil és garantáltan időben rendezi az elemeket.



Hogyan működik a merge sort?

  1. Oszd meg: A bemeneti tömböt két közel egyenlő részre bontja.
  2. Urald: Rekurzívan rendezze a két rész tömböt.
  3. Összefésül: Az így kapott két rendezett tömböt egyesítve egyetlen rendezett tömböt hoz létre.



Részletes lépések

  • Ha a tömb mérete 1 vagy 0, akkor az már rendezett.
  • Két rendezett rész tömböt egyesítünk úgy, hogy összehasonlítjuk az elemeket és sorban illesztjük őket egy új tömbbe.
  • Az egyesítés lineáris időben történik.



Példa

Bemenet:

  • Osztás: és
  • Rendezés rekurzívan mindkettőn, majd összeolvasztás.
  • Végül rendezett tömb:



Időbonyolultság

  • Átlagos és legrosszabb eset:
  • Legjobb eset:
  • A logaritmikus szorzó a rekurzív osztás miatt, az a fésülés lineáris költsége miatt.



Előnyök és hátrányok

Előnyök Hátrányok
Stabil rendezés Többlet memóriaigény (extra tömb)
Garantált idő Lassabb, mint az in-place algoritmusok bizonyos esetekben
Jó párhuzamosíthatóság Nem in-place (nem az eredeti tömbben dolgozik)



Összefoglalás

Fogalom Leírás
Merge sort Oszd meg és uralkodj algoritmus, két rendezett rész egyesítése
Idő: Garantált idő
Memória: Többlet memória használata szükséges