斐波那契数列的递归与非递归实现
2017-05-13 23:29
363 查看
非递归的时间复杂度为O(n)
#include <iostream>
using namespace std;
int Fib(size_t N)
{
int a1 = 0,
a2 = 1,
a3 = N;
if (N < 2)
return a3;
for (size_t idx = 2; idx <= N; idx++)
{
a3 = a1 + a2;
a1 = a2;
a2 = a3;
}
return a3;
}
递归的时间复杂度为O(n²)
int Fib1(size_t N)
{
if (N < 2)
return N;
else
return Fib1(N - 1) + Fib(N - 2);
}
int main()
{
cout << Fib(5) << endl;
cout << Fib1(5) << endl;
system("pause");
return 0;
}
#include <iostream>
using namespace std;
int Fib(size_t N)
{
int a1 = 0,
a2 = 1,
a3 = N;
if (N < 2)
return a3;
for (size_t idx = 2; idx <= N; idx++)
{
a3 = a1 + a2;
a1 = a2;
a2 = a3;
}
return a3;
}
递归的时间复杂度为O(n²)
int Fib1(size_t N)
{
if (N < 2)
return N;
else
return Fib1(N - 1) + Fib(N - 2);
}
int main()
{
cout << Fib(5) << endl;
cout << Fib1(5) << endl;
system("pause");
return 0;
}
相关文章推荐
- JAVA 递归与非递归斐波那契数列的实现
- Fibonacci(斐波那契)数列的递归与非递归实现 python
- 递归与非递归实现斐波那契数列
- OJOJ:斐波那契数列的实现——递归与非递归实现
- java递归实现斐波那契数列
- 斐波那契数列实现--递归,迭代,数组,队列
- 斐波那契数列的递归和非递归实现 —— python
- php递归和迭代实现斐波那契数列
- 斐波那契数列的递归,迭代(循环),通项公式三种实现
- 斐波那契数列的实现(四种方法 递归,非递归)
- java递归实现斐波那契数列
- Python:斐波那契数列递归实现方法
- C语言斐波那契数列的四种实现方式—递归,迭代,数组,队列
- 非递归实现斐波那契数列———修改版
- 斐波那契数列的递归和非递归实现
- 斐波那契数列——递归实现
- 斐波那契序列——递归实现与非递归实现
- 斐波那契(Fibonacci)数列的递归和非递归实现
- 递归方式、迭代方式实现的斐波那契数列。
- 斐波那契数列的递归实现和非递归实现