如果用递归算法计算第n个斐波那契项的话,就会造成一边又一遍得计算同一个值,如果决解这个问题,效率就会高很多;
那么,如果在计算一个值时,将其保存在一个数组中,想必就会高效很多;以下是该算法的代码:
int fun(int n)
{
int i;
int f[n]={};//实际不可以这么操作//如果在c语言中要实现数组的长度为变量//可以用//int *f;//f=(int *)malloc(sizeof(int)*n);//动态分配内存的方式实现
f[0]=0;
if(n>0)
f[1]=1;
for(i=2;i<=n;i++)
f[i]=f[i-1]+f[i-2];
return f[n];
}
本文介绍了一种使用数组存储已计算斐波那契数值的方法来提高递归算法的效率。通过避免重复计算相同的值,该算法显著提高了计算斐波那契数列的速度。
8万+

被折叠的 条评论
为什么被折叠?



