数据结构day1

两种算法复杂度的区别。

#include <stdio.h>
#include <stdlib.h>
#include<time.h>
#include<math.h>
#define MAX 101
clock_t start,stop;
double duration;
double f1(double x,double p[],int n)
{
int i;
double s=1;
for(i=1;i<=n;i++)
s+=pow(x,i)/p[i];
return s;
}

double f2(double x,double p[],int n)
{
int i;
double s=p[n];
for(i=n;i>0;i–)
s=1/p[i-1]+x/s;
return s;
}

int main()
{
int i;
double a[MAX];
for(i=0;i<MAX;i++)
a[i]=(double)i;
start = clock();
for(i=0;i<1e4;i++)
{
f1(1.1,a,MAX-1);
}

stop = clock();
duration=((double)(stop-start))/CLK_TCK/1e4;
printf("TICKS=%f\n",(double)(stop-start));
printf("duration is %f\n",duration);
for(i=0;i<MAX;i++)
    a[i]=(double)i;
start = clock();
for(i=0;i<1e4;i++)
{
    f2(1.1,a,MAX-1);
}

stop = clock();
duration=((double)(stop-start))/CLK_TCK/1e4;
printf("TICKS=%f\n",(double)(stop-start));
printf("duration is %f\n",duration);


return 0;

}

猜你喜欢

转载自blog.csdn.net/cruel2436/article/details/84938149