Selection sort: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
|||
Riga 109:
== Analisi delle prestazioni ==
Il ciclo interno è un semplice test per confrontare l'elemento corrente con il minimo elemento trovato fino a quel momento (più il codice per incrementare l'indice dell'elemento corrente e per verificare che esso non ecceda i limiti dell'array). Lo spostamento degli elementi è fuori dal ciclo interno: ogni scambio pone un elemento nella sua posizione finale quindi il numero di scambi è pari a <math> N-1</math> (dato che l'ultimo elemento non deve essere scambiato). Il tempo di calcolo è determinato dal numero di confronti.
A livello asintotico viene studiato il tempo di esecuzione dei due cicli for.
<math>\sum_{i=1}^{n-1} \sum_{j=i+1}^{n} c </math>, dove ''c'' è una costante, dato che l'operazione effettuata può essere rappresentata da una costante.
<math>\sum_{i=1}^{n-1} \sum_{j=i+1}^{n} 1 = \frac{n^2}{2} = \theta(n^2) </math>
L'ordinamento per selezione effettua <math>N(N-1)/2</math> confronti e, nel caso peggiore, <math>N-1</math> scambi.
|