Bubble Sort

Probabilmente il più facile e noto algoritmo di sort.
Deve il suo nome a quando facciamo bollire l'acqua: pian piano le bolle leggere salgono, mentre
gli elementi più pesanti rimangono a fondo. Si basa sul controllare ogni elemento con il successivo e, se il primo è maggiore del secondo, scambiarli.
A poco a poco l'elemento più grande si fermerà in fondo, riordinando l'array.
Anche se efficace, è molto lento e poco pratico.

Grandezza array:
Tempo di refresh:

Chiamate di Swap():

Bubble Sort in C++


Cocktail Shaker Sort

Altri nomi: BubbleSort bidirezionale, Happy Hour Sort e Shuttle Sort.
Poco utilizzato perché poco efficiente.
È semplicemente un doppio BubbleSort: ad ogni ciclo l'elemento più viene depositato infondo,
il ciclo riprende nell'altra direzione, per poi ricambiare e ricambiare finché non si raggiunge l'ordinamento.

Grandezza array:
Tempo di refresh:
Chiamate di Swap():

Cocktail Shaker Sort in C++


Insertion Sort

Non troppo noto ma semplice algoritmo.
Ogni elemento viene spostato a sinistra finché incontra elementi più grandi.
Può essere sia iterativo che ricorsivo ma anche in questo modo non compete con i moderni algoritmi ottimizzati.

Grandezza array:
Tempo di refresh:
Chiamate di Swap():

Insertion Sort in C++


Selection Sort

Non troppo noto ma semplice algoritmo.
Si ricerca sempre il minimo valore dell'array e lo si posiziona nel primo posto libero.
Il numero di scambi che esso effettua è la grandezza dell'array - 1,
la velocità dipende quindi solo dalla lunghezza e non dagli elementi.

Grandezza array:
Tempo di refresh:
Chiamate di Swap():

Selection Sort in C++


Shell Sort

Nato come ottimizzazione dell'Insertion Sort, esso fu progettato da Donald Shell nel 1959.
Esso di differenzia non eseguendo scambi, ma solamente spostamenti di tanti elementi,
questo lo rende molto più efficiente dell'algoritmo da cui deriva.

Grandezza array:
Tempo di refresh:
Shift effettuati:

Shell Sort in C++


Odd Even Sort

Nato come ottimizzazione del Bubble Sort per mano di Habermann nel 1972.
Esso esegue una Bubble sort un elemento sì e uno no, per poi ripetere il processo per gli altri,
La superiorità rispetto al suo genitore è che poteva essere effetturato su processori paralleli.

Grandezza array:
Tempo di refresh:
Chiamate di Swap():

Odd Even Sort in C++


Quick Sort

Diffuso, potente e veloce algoritmo ricorsivo.
Si basa sul dividere a metà l'array e riordinarla richiamando sé stessto su quella metà
La ricorsività garantisce velocità ed efficenza.

Grandezza array:
Tempo di refresh:
Chiamate di Swap():

Quick Sort in C++


Merge Sort

Sviluppato nel 1945 da John von Neumann fu uno dei primi algoritmi ad utilizzare
la tecnica del "Divide et impera", come dicevano gli antichi Romani.
La suddivisione in problemi più piccoli viene resa possibile dalla ricorsione.
L'algoritmo può essere in-place o not-in-place, nel secondo caso non verranno effettuati scambi.

Grandezza array:
Tempo di refresh:
Assegnazioni effettuate:

Merge Sort in C++