由运行时间可知,当数据量增大时,递归方法程序运行效率成为瓶颈,速度变得极为缓慢。
#include<cstdio>
#include<iostream>
#include<time.h>
using namespace std;
int Funct( int n )
{
if(n==0) return 1;
if(n==1) return 1;
return Funct(n-1) + Funct(n-2);
}
int Foo( int n ) // n 为非负整数
{
int first=1;//应该初始化a为1而不是0
int second=1;
int first_plus_second;
if(n==0) first_plus_second=1;
else if(n==1) first_plus_second=1;
else for(int i=2;i<=n;i++) //应该n从2开始算起
{
first_plus_second=first+second;
first=second;
second=first_plus_second;
}
return first_plus_second;
}
void testRunningTime()
{
int n;
long now=0;
cout<<"请输入:\n";
while(cin>>n)
{
now=clock();