分析斐波那契计算的复杂度
斐波那契数列的定义
迭代的算法
int F(int n) {int less = 1, bigger = 1;int temp, i;for (i = 2; i < n; ++i) {temp = less + bigger;std::swap(less, bigger);bigger = temp;}return less + bigger;}
时间复杂度为:
递归的算法
int F(int n) {if (n == 0 || n == 1) return 1;return F(n - 1) + F(n - 2);}
时间复杂度为:
对于这种递归的算法,可以将过程值储存起来,从而降低时间复杂度
