【递归算法】 斐波那契数列的备忘录优化
来源:互联网 发布:js实现烟花效果 编辑:程序博客网 时间:2024/06/06 12:54
递归算法之斐波那契数列的优化
闲来无事尝试了一下斐波那契的递归算法
递归的斐波那契数列的算法的效率惊人的低 得到43个数据需要8秒钟
而优化过带备忘录的斐波那契数列,只需要0.2秒就可以打出64个数据
2秒可打出1000个
说明了线性时间复杂度和n^2的指数级别的时间复杂度的相差之大
另附代码:
Original
#include <iostream>using namespace std;int fib_arr(int i);int fib_arr(int i){ if(i == 1 || i == 2){ return 1; } if(i > 2){ return fib_arr(i-1) + fib_arr(i-2); }}int main(){ for(int i = 0; i < 43; ++i){ cout << fib_arr(i) << '\t'; } return 0;}
Result
#include <iostream>using namespace std;const int SIZE = 64;long long int *sav = new long long int[SIZE];long long int fib_arr(int i);long long int fib_arr(int i){ if(i == 1 || i == 2){ sav[i] = 1; return sav[i]; } if(i > 2){ sav[i] = sav[i-1] + sav[i-2]; return sav[i]; }}int main(){ for(int i = 1; i < SIZE; ++i){ cout << fib_arr(i) << '\t'; } return 0;}
0 0
- 【递归算法】 斐波那契数列的备忘录优化
- 斐波那契数列的递归优化实现
- 斐波那契数列递归算法
- 斐波那契数列的递归算法
- 斐波那契数列---递归和递归优化
- 斐波那契数列算法优化
- 斐波那契数列算法的优化设计
- 斐波那契数列的算法优化
- 斐波那契数列递归与非递归算法
- 斐波那契数列递归和非递归算法
- 斐波那契数列的递归算法与非递归算法
- 斐波那契数列的递归算法与非递归算法
- 斐波那契数列的递归算法与非递归算法
- 斐波那契数列的递归和非递归算法
- 斐波那契数列的递归与非递归算法实现及其时间复杂度
- 【C++】斐波那契数列前N项的和递归与非递归算法
- 斐波那契数列和二分查找的算法(递归与非递归)
- 数据结构与算法_斐波那契数列的递归与非递归
- 菜单响应
- java 哪个函数都可以操作类变量 / 类函数只能操作类变量
- RecylerView在Fragment中卡顿
- c++上机实验3-判断一个人的存款利息和本息合计
- 3D效果
- 【递归算法】 斐波那契数列的备忘录优化
- HDU 5512 Pagodas【博弈】
- windows wamp composer xdebu
- 10016---SolrFacetSearch - Changes from 5.6 to 5.7
- 去哪儿笔试题 首个重复字符
- hdoj1028;他们说这题叫dp...
- 梅兰商场
- Comparator与Comparable
- ios笔记