Jeśli zmienna sterującą nie zmienia się liniowo należy szacować czas wykonania również w nie-liniowy sposób. W szczególności wykładnicza zmiana zmiennej sterującej pętlą pociąga logarytmiczny czas wykonania:
while i < n do begin
i:= i * k;
0(1);
k~-' < n < km
a wiec
C
int i = 1; while( i < n )
{
i *= k; 0(1) ;
} m -1 < logk n < m, oraz T(n) * c logk a
26
W\idad 5 Progr amowanie komputerów I
„ i