您的位置 首页 > 数码极客

如何在o(n)时间内找出数列中值的算法

关注“爱当程序员的我”,每天都有关于编程头条发布


斐波那契数列是金典数列问题,也是程序员在初学递归时常用的例子。

今天小编来说说学好数学对编程有什么用。

首先我们从最简单的递归开始

递归实现斐波那契数列

这个是最简单的版本,但是时间复杂度为O(N^2),简单的算着还可以,数越大这个程序越慢。

所以我们将递归转化为非递归

非递归实现斐波那契数列

这个算法很快,时间复杂度O(N),但是我们可以通过数学的思想将其转换为O(1)的算法

数学推导斐波那契数列

通过这样我们就可以直接算出第n个数值,但是这样算出来是浮点类型的

乘方函数

数学方法解斐波那契数列

这样我们就实现了O(1)的算法,所以说我们还是应该用数学的思想来解决问题。


结束语:

如果喜欢这篇头条,一定要收藏哟^O^

点击关注,了解更多关于编程的知识^O^

如果有不懂的地方,可以留言,相互探讨,相互学习,共同进步^O^

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何在o(n)时间内找出数列中值的算法”边界阅读