const int MAX = 101;
double map[MAX];
// 数组map[MAX]暂存中间调用结果,避免重复计算 */
double map[MAX];
// 数组map[MAX]暂存中间调用结果,避免重复计算 */
double fib(int n)
{
if (n == 1 || n == 2)
{
return 1;
}
else if (map[n] > 0)
{
return map[n];
}
else
{
map[n] = fib(n-1) + fib(n-2);
return map[n];
}
}
本文介绍了一种使用动态规划方法优化斐波那契数列递归计算的算法。通过利用数组暂存中间计算结果,有效避免了重复计算,显著提高了计算效率。
1723

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



