小编And*_*edo的帖子

循环真的比递归快吗?

根据我的教授的说法,循环比使用递归更快、更缺乏,但我想出了这个 C++ 代码,它使用递归和循环计算斐波那契数列,结果证明它们非常相似。所以我最大化了可能的输入以查看性能是否存在差异,并且由于某种原因递归比使用循环更好。有谁知道为什么?提前致谢。

这是代码:

#include "stdafx.h"
#include "iostream"
#include <time.h>
using namespace std;

double F[200000000];
//double F[5];

/*int Fib(int num)
{
    if (num == 0)
    {
        return 0;
    }

    if (num == 1)
    {
        return 1;
    }

    return Fib(num - 1) + Fib(num - 2);

}*/

double FiboNR(int n) // array of size n
{


    for (int i = 2; i <= n; i++)
    {
        F[i] = F[i - 1] + F[i - 2];
    }
    return (F[n]);
}

double FibMod(int …
Run Code Online (Sandbox Code Playgroud)

c++ recursion loops

2
推荐指数
1
解决办法
1686
查看次数

标签 统计

c++ ×1

loops ×1

recursion ×1