oj contest ranklist时间怎么算的_立方阶时间复杂度怎么算-征战沙场- 第326篇

cc16bafa51f8ec5d825cbda3976be56d.png

相关历史文章(阅读本文前,您可能需要先看下之前的系列 )

国内最全的Spring Boot系列之三

2020上半年发文汇总「值得收藏」

程序CPU占用率飙升,如何定位线程的堆栈信息?「超详细,值得收藏」看不懂还有配套视频 - 第319篇

「工作流Activiti」介绍-新手上路,注意安全 - 第320篇

「Activiti精品 悟纤出品」activiti介绍-十万个为什么 - 第321篇

「Activiti精品 悟纤出品」Activiti6 Getting Started- 稳扎稳打 - 第322篇

「Activiti精品 悟纤出品」Activiti7 Getting Started-摸石头过河 - 第323篇

「Activiti精品 悟纤出品」流程模型搭建-小试牛刀 - 第324篇

「Activiti精品 悟纤出品」基于mysql初始化「图图为啥消失了」- 第325篇

悟纤:师傅,时间复杂度咱们之前不是学习过了嘛,怎么又来一遍了,你这是不是这两天没有备课要偷懒呢。

e1eb5f90bbf57b4c3940276c1117ac09.png

师傅:师傅不是要偷懒,我就问你这个变形的三层for循环这个执行的次数是多少,你能算出来嘛?

a611a42d5c5fc808c20c3925a96e4d22.png

悟纤:师傅,你这是没事找事做吧。

师傅:这不粉丝留言“在for循环里面第一层是i<=n,第二层是j<=j,第三层是k<=j“。

悟纤:粉丝的问题吗,那是要好好对待,不可马虎呐。

2573ff2e48966c2740c74cd9257a487a.png

师傅:话说你不是经常能说会道的,你会嘛?

悟纤:弟子才疏学浅,不敢在师傅目前班门弄斧,还是师傅您来。

师傅:哎,不懂不可怕,可怕的是不懂装懂呐。

悟纤:弟子受教了,请师傅赐教。

30f131d203a6cc84af05e5236908de68.png

师傅:那为师你好好给你讲解下。

819c5ff4165957084c5e6f723fad1721.png

前言

有一个网友在知乎留言:

https://zhuanlan.zhihu.com/p/87754009

7ea086b2ea07812a09f83c875b539dd6.png

「关注SpringBoot公众号不迷路」

本文会采用进阶式的讲解方式,从一阶到三阶,在到3阶的变形。

对于时间复杂度是怎么回事,还不懂的话,请先阅读《烦不烦,别再问我时间复杂度了:这次不色,女孩子进来吧 - 第281篇》:

https://mp.weixin.qq.com/s/F1HLfWkYok4D633OpcLjwA

一、一阶的时间复杂度

一节的应该是非常的简单的,为了文章的完整性,我们还是简单的看下代码:

/**

一层for循环,n等于多少就循环多少次,那么可以得知时间频度:

T(n)=n

那么时间复杂就是:O(n)

二、二阶的时间复杂度

我们看下二阶的小栗子:

/**

双层for循环的执行的次数就是n*n次。那么时间复杂度就是O(n²)

三、三阶的时间复杂度(立方阶)

3.1最基本的立方阶

最简单的立方阶就是三层for循环了:

/**

这个正常的立方阶for循环的次数就是n*n*n,那么时间复杂度也就是O(n3)。

3.2变形立方阶

变形的立方阶就是在这个for循环的次数,内层for循环和外层for循环是有关系的,直接上代码看下:

/**

这里这里和前面的基本的例子不一样的地方就是在内层for循环的时候,j之前是j<=n,现在是和外层的i有关系是j<=i; 对于k的话之前是k<=n,现在是k<=j

这个乍一看还看不出来时间复杂度是多少,所以我们需要进行推导一下,怎么推导呐,具体的推导过程还不懂,那你得好好看看《烦不烦,别再问我时间复杂度了:这次不色,女孩子进来吧 - 第281篇》。

通过时间复杂度的一个推演过程,我们知道我们要先计算一下时间频度:T(n)

直接看帅气的纸质推演过程:

b5c5660a3c27313667c95550c2c60ad2.png

e13964fdbb2b84f9e8e528a30700c283.png

这里上面的推演过程已经写得很清楚了,执行的次数:

n(n+1)(n+2) / 6

时间复杂度就是O(n3)

我就是我,是颜色不一样的烟火。
我就是我,是与众不同的小苹果。
à悟空学院: https:// t.cn/Rg3fKJD
学院中有 Spring Boot相关的课程!点击「 阅读原文」进行查看!
SpringBoot视频: http:// t.cn/A6ZagYTi
Spring Cloud视频: http:// t.cn/A6ZagxSR
SpringBoot Shiro视频: http:// t.cn/A6Zag7IV
SpringBoot交流平台: https:// t.cn/R3QDhU0
SpringData和JPA视频: http:// t.cn/A6Zad1OH
SpringSecurity5.0视频: http:// t.cn/A6ZadMBe
ShardingJDBC分库分表: http:// t.cn/A6ZarrqS
分布式事务解决方案: http:// t.cn/A6ZaBnIr
JVM内存模型调优实战: http:// t.cn/A6wWMVqG
Spring入门到精通: https:// t.cn/A6bFcDh4
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值