2-Asymptotic Notation, Time and Space Complexity of An Algorithm-25!05!2024
2-Asymptotic Notation, Time and Space Complexity of An Algorithm-25!05!2024
Function() Function()
{ {
int I; int I;
for(i=1 to n) for(i=1 to n)
print(“Hello”); for(j=1 to n)
} print(“Hello”);
}
O(n)
O(n2)
Example1
function(){
int i=1, s=1;
while(S<=n)
{
i++;
s=s+i;
printf(“hello”)
}
}
S 1 3 6 10 15 21
i 1 2 3 4 5 6
function(){
int i=1, s=1;
while(S<=n)
{
i++;
s=s+i;
printf(“hello”)
}
}
S 1 3 6 10 15 21
i 1 2 3 4 5 6.........n
function(){
int i=1, s=1;
while(S<=n)
{
i++;
s=s+i;
printf(“hello”)
}
}
S 1 3 6 10 15 21……n(n+1)/2 n>s stop
i 1 2 3 4 5 6.........n
Example2
function(){
int i=1, s=1;
while(S<=n)
{
i++;
s=s+i;
printf(“hello”)
}
}
S 1 3 6 10 15 21……k(k+1)/2
i 1 2 3 4 5 6.........k
K(K+1)/2 >=n
(K2+k)/2>=n
Which means
k= ie O()
Example 3
Function(){
i=1;
for(i=1;i2<=n;i++)
printf(“hello”);
}
or
1*100+2*100+3*100+4*100+……n*100
100(1+2+3+4+……………n)
n(n+1)/2 ie O(n2)
Example 5
Function(){
int I,j,k,n;
for(i=1;i<=n;i++){
for(j=1;j<= ;j++){
for(k=1;k<=n/2;k++){
printf(“Hello”);
}
}
}
}
i
J
K
Function(){
int I,j,k,n;
for(i=1;i<=n;i++){
for(j=1;j<= ;j++){
for(k=1;k<=n/2;k++){
printf(“Hello”);
}
}
}
}
I 1 2 3 4 5
J 1 4 9 16 25
K 1*n/2 4*n/2 9*n/2 16*n/2 25*n/2
Function(){
int I,j,k,n;
for(i=1;i<=n;i++){
for(j=1;j<= ;j++){
for(k=1;k<=n/2;k++){
printf(“Hello”);
}
}
}
}
I 1 2 3 4 5…………………….n
J 1 4 9 16 25
K 1*n/2 4*n/2 9*n/2 16*n/2 25*n/2
Function(){
int I,j,k,n;
for(i=1;i<=n;i++){
for(j=1;j<= ;j++){
for(k=1;k<=n/2;k++){
printf(“Hello”);
}
}
}
}
I 1 2 3 4 5…………………….n
J 1 4 9 16 25…………………..n2
K 1*n/2 4*n/2 9*n/2 16*n/2 25*n/2
Function(){
int I,j,k,n;
for(i=1;i<=n;i++){
for(j=1;j<= ;j++){
for(k=1;k<=n/2;k++){
printf(“Hello”);
}
}
}
}
I 1 2 3 4 5…………………….n
J 1 4 9 16 25…………………..n2
K 1*n/2 4*n/2 9*n/2 16*n/2 25*n/2…………..n2*n/2
Function(){
int I,j,k,n;
for(i=1;i<=n;i++){
for(j=1;j<= ;j++){
for(k=1;k<=n/2;k++){
printf(“Hello”);
}
}
}
}
I 1 2 3 4 5…………………….n
J 1 4 9 16 25…………………..
K 1*n/2 4*n/2 9*n/2 16*n/2 25*n/2…………..*n/2
1*n/2 4*n/2 9*n/2 16*n/2 25*n/2…………..n2*n/2
n/2(12+….. )
n/2((n(n+1)(2n+1)/6)
O(n4)
Example 6
Function(){
for(i=1;i<n;i=i*2)
printf(“hello”);
}
i=1 2 4 8 16 n
=n
K=log(n)
O(log2 n)
Example 7
Function(){
int i,j,k;
for(i=n/2;i<=n;i++)
for(j=1;j<=n/2;j++)
for(k=1;k<=n;k=k*2)
printf(“hello”);
}
Function(){
int i,j,k;
n/2 for(i=n/2;i<=n;i++)
n/2 for(j=1;j<=n/2;j++)
Log2 n for(k=1;k<=n;k=k*2)
printf(“hello”);
}
n/2 *n/2*log2 n
O(n2 log2 n)
Example 8
Function(){
int I,j,k;
for(i=n/2;i<=n;i++)
for(j=1;j<=n;j=2*j)
for(k=1;k<=n;k=k*2)
printf(“Hello”);
}
Function(){
int I,j,k;
n/2 for(i=n/2;i<=n;i++)
Log2 n for(j=1;j<=n;j=2*j)
Log2 n for(k=1;k<=n;k=k*2)
printf(“Hello”);
}
n/2* (Log2 n)2
32
Example (cont’d)
Algorithm 3 Cost
sum = 0; c1
for(i=0; i<N; i++) c2
for(j=0; j<N; j++) c2
sum += arr[i][j]; c3
------------
c1 + c2 x (N+1) + c2 x N x (N+1) + c3 x N2 = O(N2)
33