jak działa Quicksort

Quicksort (szczególnie w miejscu Quicksort) może być nieco mylące, więc przejdźmy przez przykład, aby pokazać, jak działa ten algorytm sortowania.

Załóżmy, że mamy następującą tablicę do sortowania:

teraz wybierzmy coś, co nazywa się „pivot point”., Celem jest przestawianie tablicy tak, aby wszystkie elementy mniejsze niż pivot były po jego lewej stronie, a wszystkie elementy większe niż pivot są po jego prawej stronie. Wybór punktu obrotu jest dowolny; może to być pierwszy element tablicy, ostatni element tablicy, a nawet element losowy! Dla naszych celów wybierzmy jednak punkt obrotu jako ostatni element tablicy, 5.,

Po przestawianiu tablicy wokół punktu obrotu 5, powinniśmy otrzymać następującą tablicę:

następnie wykonujemy rekurencyjnie powyższą procedurę dla podprzestrzeni po lewej i po prawej stronie punktu obrotu.

podpora po lewej stronie punktu obrotu jest tylko jednym elementem. Nie ma sensu sortować tablicy o długości 1, więc nie ma tu nic do roboty!,

lewa podpora

z drugiej strony podpora po prawej stronie punktu obrotu nie jest tak trywialna. Postępując zgodnie z procedurą opisaną powyżej, wybierzmy 7 jako nowy punkt obrotu dla tej podpory.,”>

prawy podwarstwy

Po przestawianiu elementów podwarstwy wokół punktu obrotu otrzymujemy:

kontynuując rekurencyjnie i łącząc lewy obraz podrzędny z pivotem i prawy obraz podrzędny, zwracana jest posortowana tablica.,

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

Articles

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *