Staram się ostatnio zrozumieć sposób w jaki liczy się złożoność obliczeniową algorytmu QuickSort. Oto jego kod:
void qsort(int *tab, int left, int right)
{
if(left < right)
{
int m = left;
for(int i = left+1; i<=right; i++)
if(tab[i] < tab[left])
swap(tab[++m], tab[i]);
swap(tab[left], tab[m])
qsort(tab, left, m-1);
qsort(tab, m+1, right);
}
}
Przykładowe wartości do posortowanie:
6 4 7 1 8 9 6 2
Jak można policzyć złożoność dla danych liczb?