sto calcolando il tempo di esecuzione per questo algoritmo?Durata (grande O)) di un algoritmo
Cost No Of Times
for(j=1;j<=n-1;j++){ c1 n(loop will run for n-1 times +1 for failed cond
for(i=0;i<=n-2;i++){ c2 n*(n-1) (n-1 from outer loop and n for inner
if(a[i]>a[i+1]){ c3 (n-1)*(n-1)
Swap c4 (n-1)*(n-1) {in worst case }
}
}
nel caso peggiore T (n) = c1 * n + c2 * (n-1) n + c3 (n-1) (n-1) + c4 * (n- 1) (n-1) che è O (n^2)
In caso migliore:
T (n) = c1 * n + c2 * (n-1) n + c3 (n-1) (n-1) che è O (n^2).
MA in realtà nel migliore dei casi bubble sort ha complessità temporale O (n). Qualcuno può spiegare?
Sì, che risulta come 'O (n^2)' che è il costo del bubble sort che stai facendo qui ... che potresti aver trovato andando su google il nome dell'algoritmo e andando nel primo risultato. http://en.wikipedia.org/wiki/Bubble_sort –
l'ho controllato, ma ho avuto un dubbio nel derivarlo, ecco perché ho postato. –