Ajánlott, 2024

Szerkesztő Választása

A gyors rendezés és az egyesítés közötti különbség

A gyors rendezési és egyesítési rendezési algoritmusok az osztódási és hódító algoritmuson alapulnak, amely meglehetősen hasonló módon működik. A gyors és összeolvasztott sorrend közötti előzetes különbség az, hogy a gyors rendezésben a forgóelemet a válogatáshoz használják. Másrészről, az egyesítés rendezése nem használja a forgatás elemet a válogatás elvégzéséhez.

Mind a rendezési technikák, mind a gyors rendezés és egyesítés a felosztási és meghódítási módszerre épül, amelyben az elemek halmaza elválik, majd az átrendeződés után egyesül. A gyors rendezés általában több összehasonlítást igényel, mint az egyesítés sorrendje egy nagy elemcsoport rendezéséhez.

Összehasonlító táblázat

Az összehasonlítás alapjaGyors rendezésEgyesítés
A tömb elemeinek megosztásaAz elemek listájának felosztása nem feltétlenül felét oszlik meg.A tömb mindig felére van osztva (n / 2).
A legrosszabb bonyolultságO (n2)O (n log n)
Jól működikKisebb tömbJól működik bármilyen típusú tömbben.
SebességGyorsabb, mint a többi adatgyűjtési algoritmus.Következetes sebesség minden típusú adatkészletben.
További tárolási helyigényKevésbéTöbb
HatékonyságA nagyobb tömbök esetében nem hatékony.Hatékonyabb.
Rendezési módszerBelsőKülső

A gyors rendezés meghatározása

A gyors rendezést széles körben használják a válogató algoritmus, mivel a rövid tömbök számára gyors. Az elemek halmaza ismételten részekre van osztva, amíg nem lehetséges tovább osztani. A gyors rendezést partíciócserének is nevezik. Kulcselemet használ (az úgynevezett pivot) az elemek elválasztásához. Az egyik partíció olyan elemeket tartalmaz, amelyek kisebbek, mint a kulcselem. Egy másik partíció olyan elemeket tartalmaz, amelyek nagyobbak, mint a kulcselem. Az elemeket rekurzív módon rendezik.

Tegyük fel, hogy A egy A [1], A [2], A [3], …… .., A [n] n szám, amelyet rendezni kell. A gyors rendezési algoritmus a következő lépésekből áll.

  1. Az első elem vagy a véletlenszerű elem, amely kulcsként van kiválasztva, az = A (1) kulcsot veszi fel.
  2. Az „alacsony” mutató a második és az „up” mutató a tömb utolsó elemére kerül, azaz alacsony = 2 és fel = n;
  3. Következetesen növelje az „alacsony” mutatót egy pozícióig, amíg (A [alacsony]> gomb).
  4. Folyamatosan csökkentse az „up” mutatót egy pozícióval, amíg (A [fel] <= gomb).
  5. Ha a felfelé nagyobb az A [alacsony] csomópont A [felfelé].
  6. Ismételje meg a 3.4. És 5. lépést, amíg az 5. lépésben bekövetkezett állapot meghibásodik (azaz <<alacsony), majd az A [fel] felcserélése a billentyűvel.
  7. Ha a kulcsból balra eső elemek kisebbek, mint a kulcs, és a kulcs jobb oldali elemei nagyobbak, mint a kulcs, akkor a tömböt két részcsoportba osztjuk.
  8. A fenti eljárást ismételten alkalmazzák az alegységekre, amíg a teljes tömböt nem rendezik.

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

Jó átlagos eset viselkedése van. A gyors rendezés futási idejének összetettsége jó, azaz gyorsabb, mint az algoritmusok, mint például a buborékfajta, a beillesztés és a kiválasztás rendezése. Ez azonban összetett és nagyon rekurzív, ezért nem alkalmas nagy tömbökre.

Az egyesítés rendezésének meghatározása

Az egyesítés egy külső algoritmus, amely szintén az osztás és a meghódítás stratégián alapul. Az elemeket újra és újra al-tömbökre osztják (n / 2), amíg csak egy elem marad meg, ami jelentősen csökkenti a rendezési időt. A kiegészítő tömböt a kiegészítő tömb tárolására használja. Az egyesítés sorrendje három tömböt használ, ahol kettőt használnak minden fél tárolására, a harmadik pedig a végleges sorrendű lista tárolására szolgál. Minden egyes tömböt rekurzívan rendezünk. Végül az alcsoportok egyesülnek, hogy a tömb n elemmérete legyen. A lista mindig csak félig (n / 2) különbözik a gyors rendezéshez.

Legyen A az a sorrend, amely az A [1], A [2], ………, A [n] osztályozandó elemek számát tartalmazza. Az egyesítési sorrend az adott lépéseket követi.

  1. Osztjuk el az A tömböt körülbelül n / 2 rendezett alcsoportra 2-vel, ami azt jelenti, hogy az (A [1], A [2]), (A [3], A [4]), (A [ k], A [k + 1]) (A [n-1], A [n]) alrendszerek rendezett sorrendben kell lenniük.
  2. Az egyes párpárokat egyesítjük, hogy megkapjuk a 4-es méretű válogatott alrészek listáját; az alkategóriák elemei rendezett sorrendben is vannak (A [1], A [2], A [3], A [4]), ……, (A [k-1], A [k], A [k + 1], A [k + 2]), ……, (A [n-3], A [n-2], A [n-1], A [n]).
  3. A 2. lépést ismételten hajtjuk végre mindaddig, amíg csak egy n méretű méretezett tömb van.

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

Az egyesítés rendezési algoritmus pontosan ugyanolyan és pontos módon működik, függetlenül a rendezésben részt vevő elemek számától. A nagy adatkészlet esetén is jól működik. Azonban a memória nagyobb részét fogyasztja.

A gyors rendezés és az egyesítés rendezési különbségei

  1. Az egyesítési sorrendben a tömböt csak két félre kell osztani (azaz n / 2). Gyors rendezésben nincs kényszer arra, hogy a listát egyenlő elemekre lehessen osztani.
  2. A gyors rendezés legrosszabb összetettsége O (n2), mivel sokkal több összehasonlítást igényel a legrosszabb állapotban. Ezzel ellentétben az egyesítési rend ugyanazzal a legrosszabb esettel és az átlagos esettanulmányokkal rendelkezik, azaz O (n log n).
  3. Az egyesítés a jól használható bármilyen típusú adatkészleten, függetlenül attól, hogy nagy vagy kicsi. Éppen ellenkezőleg, a gyors rendezés nem működik jól nagy adatállományokkal.
  4. A gyors rendezés gyorsabb, mint az egyesítés, egyes esetekben, például kis adatállományok esetében.
  5. A válogatás rendezése további memóriát igényel a kiegészítő tömbök tárolásához. Másrészt, a gyors rendezés nem igényel sok helyet a további tároláshoz.
  6. Az egyesítés rendszere hatékonyabb, mint a gyors rendezés.
  7. A gyors rendezés a belső rendezési módszer, ahol a rendezendő adatokat egy időben a fő memóriában állítják be. Ezzel ellentétben az egyesítés rendezése olyan külső válogatási módszer, amelyben a rendezendő adatokat egyidejűleg nem lehet a memóriában elhelyezni, és néhányat a kiegészítő memóriában kell tartani.

Következtetés

A gyors rendezés gyorsabb esetek, de bizonyos helyzetekben nem hatékony, és sok összehasonlítást végez az összevonáshoz képest. Bár az egyesítés rendszere kevesebb összehasonlítást igényel, további 0 (n) memóriaterületre van szükség az extra tömb tárolásához, míg a gyors rendezéshez O (log n) hely szükséges.

Top