Come funziona Quicksort

Quicksort (specialmente Quicksort sul posto) può essere un po ‘ confuso, quindi esaminiamo un esempio per mostrare come funziona questo algoritmo di ordinamento.

Supponiamo che ci è data la seguente matrice di ordinamento:

Ora andiamo a scegliere qualcosa che si chiama un “pivot point”., L’obiettivo è riorganizzare l’array in modo tale che tutti gli elementi inferiori al pivot siano alla sua sinistra e tutti gli elementi maggiori del pivot siano alla sua destra. La scelta del punto di rotazione è arbitraria; può essere il primo elemento della matrice, l’ultimo elemento della matrice, o anche un elemento casuale! Per i nostri scopi, tuttavia, scegliamo il punto pivot per essere l’ultimo elemento dell’array, 5.,

Dopo riorganizzare la matrice di tutto il pivot punto 5, si deve ottenere la seguente matrice:

Siamo quindi in modo ricorsivo seguire la procedura descritta sopra per il subarray a sinistra e a destra del punto di perno.

Il sottoarray a sinistra del punto pivot è solo un elemento. Non ha senso ordinare una matrice di lunghezza uno, quindi non c’è niente da fare qui!,

sinistra sottomatrice

d’altra parte, la sottomatrice a destra del punto di perno non è così banale. Seguendo la procedura descritta sopra, scegliamo 7 come nuovo punto di perno per questo sottoarray.,”>

Il diritto sottomatrice

Dopo riordinare gli elementi della sottomatrice di tutto il punto di perno, si ottengono i seguenti:

Il diritto sottomatrice riorganizzato tutto il nuovo punto di perno, 7

continuando in modo ricorsivo, e l’unione di sinistra sottomatrice con il perno e il diritto sottomatrice, un array ordinato è tornato.,

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

Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *