Animazione dell'algoritmo Insertion sort da Wikipedia |
Pseudocodice:
"per i che varia da 1 a N
per j che varia da i a 0
se l'elemento j è minore dell'elemento i allora
scambia l'elemento i con l'elemento j"
Codice:
void insertSort(int * ar, int n)
{ int i, j, temp;
for (i = 1; i < n; t++){ j = i; while( (j > 0) && (ar[j] < ar[j - 1] )) { temp = ar[j]; ar[j] = ar[j - 1]; ar[j - 1] = temp; j--; } } }
La complessità computazionale asintotica è O(n^2).
Caso peggiore: array ordinato in senso inverso - T. esec. prop. a n^2
Caso migliore: array già ordinato - T. esec. prop. a n
Caso migliore: array già ordinato - T. esec. prop. a n
Nessun commento:
Posta un commento