问题描述:构建Fibonacci数列。分别用递推、递归、数组构建Fibonacci序列的若干项,分别从时间、空间的复杂度角度对三种方法进行比较,并测试三种方法程序运行的时间
作者:何知令
作者:何知令
完成时间:2017年4月22日
代码:
/*
问题描述:构建Fibonacci数列。分别用递推、递归、数组构建Fibonacci序列的若干项,分别从时间、空间的复杂度角度对三种方法进行比较,并测试三种方法程序运行的时间
作者:何知令
完成时间:2017年4月22日
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#define N 50
long recursion()//递推
{
int a=1,b=1;
int i;
long sum=0;
for(i=0;i<N-2;i++)
{
sum=a+b;
a=b;
b=sum;
}
return sum;
}
long recurrence(int n)//递归
{
if(n==1||n==2)
return 1;
else
return recurrence(n-1)+recurrence(n-2);
}
long arry()
{
int i;
long s[N];
s[0]=1;
s[1]=1;
for(i=2;i<N;i++)
{
s[i]=s[i-2]+s[i-1];