码迷,mamicode.com
首页 > 编程语言 > 详细

算法中的时间复杂度分析

时间:2019-11-03 18:35:49      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:极客   复杂   循环   嵌套   分析   法则   乘法   执行   等于   

三个法则,从极客时间的算法专栏总结

1. 只关注循环执行次数最多的一段代码

,我们在分析一个算法、一段代码的时间复杂度的时候,也只关注循环执行次数最多的那一段代码就可以了。

2. 加法法则:总复杂度等于量级最大的那段代码的复杂度,总的时间复杂度就等于量级最大的那段代码的时间复杂度。

例如:

那我们将这个规律抽象成公式就是:如果 T1(n)=O(f(n)),T2(n)=O(g(n));那么 T(n)=T1(n)+T2(n)=max(O(f(n)), O(g(n))) =O(max(f(n), g(n))).

3. 乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积

例如:

如果 T1(n)=O(f(n)),T2(n)=O(g(n));那么 T(n)=T1(n)*T2(n)=O(f(n))*O(g(n))=O(f(n)*g(n)).也就是说,假设 T1(n) = O(n),T2(n) = O(n2),则 T1(n) * T2(n) = O(n3)。落实到具体的代码上,我们可以把乘法法则看成是嵌套循环

算法中的时间复杂度分析

标签:极客   复杂   循环   嵌套   分析   法则   乘法   执行   等于   

原文地址:https://www.cnblogs.com/QuestionsZhang/p/11788132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!