Skip to content

Analysing Algorithm (TC & SC)

Apriori Analysis:

  • It is a determination of order of magnitude of a statement.

Ex:04

c
main()
{
  x = a+b;
  y = c+d;
  e = f+g;
  g = e+y;
  h = x+c;
}

Ex:05

c
main()
{
  x = y+z;
  for(i=1;i<=n;i++)
    x = y+z;
  for(i=1;i<=n;i++)
  {
    for(j=1;j<=n/2;j++)
    {
      x = y+z;
    }
  }
}

Ex:06

c
main()
{
  i = 1;
  while(i<=n)
  {
    x = y+z;
    i=i+1;
  }
}

Ex:07

c
main()
{
  i = 1;
  while(i<=n)
  {
    i = i+1;
  }
}

Ex:07

c
main()
{
  i = 1;
  while(i<=n)
  {
    i = i+5;
  }
}

Ex:08

c
main()
{
  i = 1;
  while(i<=n)
  {
    i = i+5;
    i = i+7;
    i = i+100;
  }
}

Ex:09

c
main()
{
  i = n;
  while(i>=1)
  {
    i = i-1;
  }
}

Ex:09

c
main()
{
  i = n;
  while(i>=1)
  {
    i = i-100;
  }
}

Ex:10

c
main()
{
  i = n;
  while(i>=1)
  {
    i = i-5;
    i = i-7;
    i = i-100;
  }
}

Ex:11

c
main()
{
  i = n;
  while(i>=1)
  {
    i = i-50;
    i = i-25;
    i = i-30;
  }
}

Ex:11

c
main()
{
  i = n;
  while(i>=1)
  {
    i = i-50;
    i = i-25;
    i = i-30;
    i = i+40;
  }
}

Ex:12

c
main()
{
  i = n;
  while(i>=1)
  {
    i = i-7;
    i = i+9;
    i = i-50;
    i = i+60;
  }
}
  • NOTE
    • "I promise, before writing any program, I will first write its algorithm. I will follow this practice for every program from today onward."

Ex:13

c
main()
{
  i = 1;
  while(i<=n)
  {
    i = i+7;
    i = i+9;
    i = i+25;
  }
}

Ex:14

c
main()
{
  i = 1;
  while(i<=n)
  {
    i = i+10;
    i = i+20;
    i = i+30;
  }
}

Ex:15

c
main()
{
  i = 1;
  while(i<=n)
  {
    i = 2*i;
  }
}

Ex:16

c
main()
{
  i = 1;
  while(i<=n)
  {
    i = 3*i;
  }
}

Note:

  • i = 1*i => log1 n
  • i = 2*i => log2 n
  • i = 3*i => log3 n
  • i = 4*i => log4 n
  • i = 10*i => log10 n
  • i = 100*i => log100 n

Ex:17

c
main()
{
  i = 1;
  while(i<=n)
  {
    i = 2*i;
    i = 3*i;
  }
}

Ex:17A

c
main()
{
  i = 1;
  while(i<=n)
  {
    i = 2*i;
    i = 3*i;
    i = 4*i;
  }
}

Ex:18

c
main()
{
  i = n;
  while(i>1)
  {
    i = i/2;
  }
}

Ex:19

c
main()
{
  i = n;
  while(i>1)
  {
    i = i/2;
    i = i/3;
  }
}

Ex:19A

c
main()
{
  i = n;
  while(i>1)
  {
    i = i/5;
    i = i/7;
    i = i/2;
    i = i/3;
  }
}

Note:

  • i = 1/i => log1 n
  • i = 2/i => log2 n
  • i = 3/i => log3 n
  • i = 4/i => log4 n
  • i = 10/i => log10 n
  • i = 100/i => log100 n

Ex:20

c
main()
{
  i = n;
  while(i>1)
  {
    i = i/5;
    i = i/7;
    i = i/2;
    i = i/2;
    i = 4*i;
  }
}

Ex:21

c
main()
{
  i = n;
  while(i>75){
    i = i/2;
    i = i/7;
  }
}

Ex:22

c
main()
{
  i = 270;
  while(i<n){
    i = 2*i;
    i = 3*i;
    i = 4*i;
  }
}

Ex:23

c
main()
{
  i= 2;
  while(i<n)
  {
    i = i^2;
  }
}

NONE

  • i = 200;
  • i+2 = 202 => n/2;
  • i-2 = 198 => n/2;
  • i*2 = 400 => log2 n
  • i/2 = 100 => log2 n
  • i^2 = 40000 => log2 (log2 n)
  • i^1/2 = 100 => log2 (log2 n)

Ex:24

c
main()
{
  i= 25;
  while(i<n)
  {
    i = i^3;
  }
}

Ex:25

c
main()
{
  i= n;
  while(i>2)
  {
    i = i^1/2;
  }
}

Ex:26

c
main()
{
  i = n;
  while(i>64)
  {
    i = i^1/51;
  }
}

Ex:27

c
main()
{
  i = 25;
  while(i<n)
  {
    i = i^31;
    i = i^2;
    i = i^3;
  }
}

Ex:28

c
main()
{
  i = 64;
  while(i<n)
  {
    i = i^1/2;
    i = i^1/3;
  }
}

Ex:29

c
main()
{
  i = 10;
  while(i<=n)
  {
    i = i + 7;
    i = i * 10;
    i = i ^ 9;
  }
}