Hi...!

In Design of Algorithm.
I think it is used to calculate the time complexity....

What is meant by STEP-COUNT METHOD?
What is the procedure in that to calculate?

I want brief explination. ....

## All 5 Replies

What is meant by STEP-COUNT METHOD?

You define what a "step" means for the algorithm (usually statements), then the total of those steps using variables such as N can be calculated.

What is the procedure in that to calculate?

• First define steps:
``````int mean(int a[], size_t n)
{
int sum = 0;                 // 1 step
for (int i = 0; i < n; i++)  // 1 step
sum += a[i];             // 1 step
return sum;                  // 1 step
}``````
• Next determine the frequency of the steps based on N:
``````int mean(int a[], size_t n)
{
int sum = 0;                 // 1 step * 1
for (int i = 0; i < n; i++)  // 1 step * (N+1)
sum += a[i];             // 1 step * N
return sum;                  // 1 step * 1
}``````
• Add up the steps: 1 + (N+1) + N + 1
• Reduce: 2N + 3
• Throw away factors that don't grow with N and you're done: O(N)

Thank You......!

How can we say that

``for (int i = 0; i < n; i++)``

is "N+1" times. Is it is the case that the loop itarates for "N+1" Number of times?

In the same manner how can we say

``sum += a[i];``

is it runs for "N" times?

Is it is the case that the loop itarates for "N+1" Number of times?

The loop iterates N times, but the statement is executed N+1 times. For example, if N is 0, the loop doesn't iterate but the condition must still be tested. Thus the statement is executed 0+1 times.

In the same manner how can we say

The loop body runs N times. That should be obvious.

Thank You very Much.....!

``````#include<stdio.h>
int main()
{
int array[100],maximum,size,c,location=1;
printf("Enter the number of elemets in array\n");
scanf("%d",&size);
printf("Enter %d integers\n",size);
for(c=0;c<size;c++)
scanf("%d",&array[c]);
maximum=array[0];
for(c=1;c<size;c++)
{
if(array[c]>maximum)
{
maximum=array[c];
location=c+1;}
}
printf("maximum element is present at location %d and its value is %d.\n",location,maximum);
return 0;
}``````

*how to calculatethe number of steps for this algorithm?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.