Miten Pikalajittelun Toimii

Quicksort (erityisesti in-place Quicksort) voi olla hieman sekava, joten käydään läpi esimerkki näyttää, kuinka tämä lajittelu algoritmi toimii.

Oletetaan, olemme antaneet seuraavat array-sort:

Nyt valita jotain kutsutaan ”pivot point”., Tavoitteena on järjestää array siten, että kaikki elementit vähemmän kuin pivot ovat sen vasemmalla, ja kaikki elementit suurempi kuin pivot ovat sen oikealla. Pivot-pisteen valinta on mielivaltainen; se voi olla matriisin ensimmäinen elementti, matriisin viimeinen elementti tai jopa satunnainen Elementti! Meidän tarkoituksiin kuitenkin, let ’ s valita pivot kohta olla viimeinen elementti array, 5.,

Kun järjestämällä array noin pivot kohta 5, meidän pitäisi saada seuraava taulukko:

Sitten rekursiivisesti noudata edellä kuvattua subarrays vasemmalle ja oikealle pivot kohta.

kääntöpisteen vasemmalla puolella oleva subarray on vain yksi elementti. Pituussarjaa ei kannata lajitella, joten täällä ei ole mitään tekemistä!,

vasen subarray

toisaalta, se subarray oikealla pivot-piste ei ole niin vähäpätöinen. Noudattamalla edellä kuvattua menettelyä, olkaamme valita 7 olla Uusi pivot kohta tämän subarray.,”>

oikea subarray

Kun järjestämällä elementtejä subarray ympäri pivot point, saadaan seuraava:

oikea subarray järjestellä uudelleen noin uusi pivot kohta, 7

jatkamalla rekursiivisesti, ja yhdistämällä vasemmalla subarray pivot ja oikea subarray, lajitellun array on palannut.,

The final sorted array: Quicksort(left subarray) + pivot + Quicksort(right subarray)

Articles

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *