千家信息网

js如何实现斐波那契

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章给大家分享的是有关js如何实现斐波那契的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。斐波那契最简单的做法:递归。function fibonacci(n){if (
千家信息网最后更新 2025年01月19日js如何实现斐波那契

这篇文章给大家分享的是有关js如何实现斐波那契的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

斐波那契

最简单的做法:递归。

function fibonacci(n){

if (n <= 0) {

return 0;

}

if (n == 0) {

return 1;

}

return fibonacci(n-1) + fibonacci(n-2);

}

但是递归会有严重的效率问题。比如想要求得f(10),首先需要求f(9)和f(8)。同样,想求f(9),首先需要f(8)和f(7)…这样就有很多重复值,计算量也很大。

我自己是一名从事了多年开发的web前端老程序员,目前辞职在做自己的web前端私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的web前端学习干货,各种框架都有整理,送给每一位前端小伙伴,想要获取的可以在后台私信我:前端,即可免费获取。

改进:从下往上计算,首先根据f(0)和f(1)计算出f(2),再根据f(1)和f(2)计算出f(3)……以此类推就可以计算出第n项。时间复杂度O(n)。

function fibonacci(n){

let ori = [0,1];

if (n < 2) {

return ori[n];

};

let fiboOne = 1,fiboTwo = 0,fiboSum = 0;

for (let i = 2; i <= n; i++) {

fiboSum = fiboOne + fiboTwo;

fiboTwo = fiboOne;

fiboOne = fiboSum;

}

return fiboSum;

}

console.log(fibonacci(5));

感谢各位的阅读!关于"js如何实现斐波那契"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0