尾递归优化的斐波那契数列
1个回答
展开全部
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。
该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。如: 1 1 2 3 5 8 ..
计算公式: F(N) = F(N - 1) + F(N - 2) (N > 1)
尾递归:尾调用的一种特殊情况,特别的是尾递归在最后一步 调用自身 。
我们经常使用诸如递归之类的方法来查找阶乘等,但递归容易发生 堆栈溢出 的问题。
尾递归优点:由于只存在 一个调用栈 ,所以永远不会出现“栈溢出”错误,节省内存。
非尾递归Fibonacci序列实现如下:
尾递归优化的Fibonacci序列实现如下:
小小斐波那契数列常常被面试官偏爱,那接下来有时间会整理一下斐波那契数列算法优化问题~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询