职场中的中年危机,【跟我学Java就对了(1)

本文探讨了斐波那契数列的时间复杂度,通过类比为一棵硕果累累的大树,指出其时间复杂度与等比数列求和相关,但实际递归次数会少一些。此外,文章还提到了Java代码实现斐波那契数列的例子,并提及了Java面试中的相关知识点,如JVM、锁、并发等。
摘要由CSDN通过智能技术生成

(2)练习

①斐波那契数列的时间复杂度?

什么是斐波那契数列呢?

在这里插入图片描述

也就是0 1 1 2 3 5……这样的数列,也就是第三项是前两项之和。

在这里插入图片描述

看出来了吗?

所以,我们先来写一个斐波那契函数


class Fib{

    int ret =0;

    public int sfib(int x){

        if(x==0){

            ret = 0;

        }else if(x<3){

            ret = 1;

        }else if(x>2){

            ret = sfib(x-1)+sfib(x-2);

        }

        return ret;

    }

}

public class dd {

    public static void main(String[] args) {

        int x = 6;

        Fib fib = new Fib();

        int ret = fib.sfib(x);

        System.out.println(ret);

    }

} 

那我们来分析一下啊:

在这里插入图片描述

这看起来像不像硕果累累的大树?

我们再来分析:

以上的数是一个实际的样子,但我们来抽象化一下:

在这里插入图片描述

所以它的时间复杂度,也就是执行次数 是这些的和,具体方法参考等比数列求和。

还要注意,其实斐波那契不是完全按照上面的抽象图的,实际会少一些递归次数。

看我画的树就知道了。

Java面试核心知识点笔记

其中囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

Java中高级面试高频考点整理

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

更多Java进阶知识笔记文档分享,这些对于面试还是学习来说都是一份不错的学习资料

有需要的朋友可以戳这里即可免费领取

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

最后还分享Java进阶学习及面试必备的视频教学

蚂蚁金服(Java研发岗),26岁小伙斩获三面,收获Offer定级P6

)**

[外链图片转存中…(img-0zrGPOXO-1628235275704)]

最后还分享Java进阶学习及面试必备的视频教学

[外链图片转存中…(img-cLbeSpJB-1628235275706)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值