for(int i = 0; i < n;i ++){ -> n + 1
stat -> n
}
for(int i = 0; i < n;i ++) executes n + 1 timesstat executes n times- o(n) = n
for(int i = n; i > 0;i --){ -> n + 1
stat -> n
}
for(int i = 0; i < n;i ++) executes n + 1 timesstat executes n times
f(n)=n
for(int i = 0; i < n;i+2){ ->
stat -> n/2
}
f(n)=2n
for(int i = 0; i < n;i+20){ ->
stat -> n/20
}
f(n)=20n
for(int i = 0; i < n;i++){ -> n + 1
for(int j = 0; i < n;j++) -> n * (n + 1)
{
stat -> n * n
}
}
f(n)=n2
for(int i = 0; i < n;i++){ ->
for(int j = 0; i < i;j++) ->
{
stat -> n + (n - 1) + (n - 2) + ... + 1
}
}
f(n)=2n2+1=>O(n)=n2
p = 0;
for(int i = 1; p < n;i++){ ->
p = p + i; -> k times p = 1 + 2 + 3 +... +k
}
f(n)=2k2+1>n=>k2>n =>O(n)=n
for(int i = 1; i < n;i = i * 2){ ->
stat; -> 2^k
}
i=2k=>2k>=n =>2k=n=>k=log2n
for(int i = 1; i < n;i = i * 3){ ->
stat; -> 3^k
}
i=3k=>3k>=n =>3k=n=>k=log3n
O(n)=log2n
for(int i = 1; i >= 1;i = i / 2){ ->
stat; -> n/2^k
}
assume i<1=>2kn<1=>n=2k=>k=log2n
for(int i = 1; i >= 1;i = i / 3){ ->
stat; -> n/3^k
}
assume i<1=>3kn<1=>n=3k=>k=log3n
for(int i = 0; i * i < n;i = i++){ ->
stat; -> n/2^k
}
i∗i<n=>i∗i>=n=>i2=n=>i=(n)
for(int i = 0; i < n;i ++){ -> n + 1
stat -> n
}
for(int j = 0; i < n;i ++){ -> n + 1
stat -> n
}
n+n=2n=>O(n)=n
i∗i<n=>i∗i>=n=>i2=n=>i=(n)
for(int i = 0; i < n; i = i * 2){
p++; -> p = logn
}
for(int j = 0; j < p; j = j * 2){
stat -> logp
}
p=logn=>logp=log(logn)=Olog(logn)
for(int i = 0; i < n; i = i++){ -> n
for(int j = 1; j < n; j = j * 2){ -> n * logn
stat -> logn * n
}
}
2nlogn+n=O(nlogn