Adatszerkezet és algoritmusok – Gyors rendezés

Hirdetések

A gyors rendezés egy nagyon hatékony rendezési algoritmus, amely az adatok tömbjének particionálásán alapul kisebb tömbökbe. Egy nagy tömböt két tömbre osztanak fel, amelyek közül az egyik a megadott értéknél kisebb értékeket tartalmaz, például pivot, amely alapján a partíciót készítik, egy másik tömb pedig a pivot értéknél nagyobb értékeket tartalmaz.

Quicksort partíciók an tömböt, majd kétszer rekurzívan hívja magát a két kapott alsáv rendezéséhez. Ez az algoritmus meglehetősen hatékony nagy méretű adathalmazok esetében, mivel átlagos és a legrosszabb eset komplexitása O (n2).

Partíció gyors rendezésben

Az animált ábrázolás követése elmagyarázza, hogy hogy megtalálja a pivot értékét egy tömbben.

A pivot érték két részre osztja a listát. Rekurzív módon megkeressük az egyes allisták pivotját, amíg az összes lista csak egy elemet tartalmaz.

Gyors rendezés pivot algoritmus

A gyors rendezésben történő particionálás megértése alapján most próbáljon meg írni egy algoritmust hozzá, amely a következő.

Step 1 − Choose the highest index value has pivotStep 2 − Take two variables to point left and right of the list excluding pivotStep 3 − left points to the low indexStep 4 − right points to the highStep 5 − while value at left is less than pivot move rightStep 6 − while value at right is greater than pivot move leftStep 7 − if both step 5 and step 6 does not match swap left and rightStep 8 − if left ≥ right, the point where they met is new pivot

Gyors rendezés pivot álkód

A fenti algoritmus álkódja levezethető –

Gyors rendezési algoritmus

A pivot algoritmus rekurzív használatával kisebb lehetséges partíciókhoz jutunk. Ezután minden partíció feldolgozásra kerül a gyors rendezéshez. Rekurzív algoritmust határozunk meg a quicksort számára az alábbiak szerint –

Step 1 − Make the right-most index value pivotStep 2 − partition the array using pivot valueStep 3 − quicksort left partition recursivelyStep 4 − quicksort right partition recursively

Pszeudokód gyors rendezése

Ha többet szeretne kapni belőle, nézze meg gyorsan az álkódot rendezési algoritmus –

Ha szeretne többet megtudni a C programozási nyelv gyors rendezéséről, kattintson ide.

Hirdetések

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük