Complexity Example
Sorting an array containing n integer values (SelectionSort):
for (i = 0; i < n-1; ++i) {
min = i;
for (j = i+1; j < n; ++j)
if (a[j] < a[min]) min = j;
swap(a[i], a[min]);
}
|
Outer loop: #iter = n-1
Cbody = C= + Cfor + Cswap
Inner loop:
#iter = n-1 + n-2 + ... + 1
= n(n-1)/2
= (n2-n)/2
Cost:
(n2-n)/2 × C< + n-1 × (C= + Cswap ) ⇒ O(n2)
|