JavaScript实现斐波那契数列的四种方法介绍(代码)


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

function fibonacci(n){

        var a = [0,1,1];

        if(n < 0) throw new Error('输入的数字不能小于0');

        if(n >= 3){

            for(var i=3;i<=n;i++){

                a[i] = a[i-1]+a[i-2];

            }

        }

        return a[n];

    }

方法4:直接使用变量实现

??相校于使用数组的方式去存放,使用变量的方式就不会那么浪费内存了,因为总共只会有3个变量,但是也有缺点,它只能保存最后计算的值以及前两个值,以前的值会被替换掉。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

function fibonacci(n){

        var pre = 0;//表示前一个值

        var cur = 1;//表示后一个值

        var data;//表示当前值

 

        if(n < 0) throw new Error('请输入大于0的值!');

        if(n == 0) return 0;

        if(n == 1) return 1;

        if(n > 2){

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

                data = pre + cur;

                pre = cur;

                cur = data;

            }

        }

        return data;

    }

总结

??其实大部分人在求斐波那契数列时想到的都是递归的方法,但是就其事件复杂度来看,不是一个好的方法,那么我们的优化思路可能就是使用空间换换时间了,就是将递归产生的值保存下来,以免下次还要重复计算。

以上就是JavaScript实现斐波那契数列的四种方法介绍(代码)的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

javascript如何删除对象属性

javascript数字转字符串的函数有哪些

javascript怎么定义类数组对象

10个开发者经常问的javascript面试题(附答案解析)

javascript预编译做了啥

javascript中slice方法怎么用

详细了解javascript中的延迟加载

javascript怎么进行强制类型转换

html5实现微信jssdk录音播放语音的实例

javascript如何实现json转数组

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...