Quicksort

Quicksort
Quicksort in esecuzione su una lista di numeri. La linea blu è il valore del pivot.
ClasseAlgoritmo di ordinamento
Struttura datiVariabile
Caso peggiore temporalmente
Caso ottimo temporalmente
Caso medio temporalmente confronti
Caso peggiore spazialmenteDipende dalle implementazioni
OttimaleSpesso

Quicksort è un algoritmo di ordinamento ricorsivo in place non stabile. Si basa anch'esso, come il Merge Sort sul paradigma di Divide et Impera. L'idea dell'algoritmo può essere riassunta così:

  1. Ho una lista di elementi da ordinare.
  2. Faccio in modo di avere tutti gli elementi più piccoli di un certo elemento presente nella lista da un lato della lista e quelli più grandi dall'altro lato.
  3. Spezzo la lista nell'indice del valore che ho usato per i confronti.
  4. Itero per i due sottoinsiemi che ho trovato.

Il Quicksort, termine che tradotto letteralmente in italiano indica ordinamento rapido, è l'algoritmo di ordinamento che ha, nel caso medio, prestazioni migliori tra quelli basati su confronto. È stato ideato da Charles Antony Richard Hoare nel 1961.