如何进行复杂度分析?

时间复杂度分析:

1、大 O 复杂度表示法:T(n) = O(f(n)),公式中的 O,表示代码的执行时间 T(n) 与 f(n) 表达式成正比

  • 只关注循环执行次数最多的一段代码
  • 总复杂度等于量级最大的那段代码的复杂度
  • 嵌套代码的复杂度等于嵌套内外代码复杂度的乘积

2、最坏情况时间复杂度:代码在最理想情况下执行的时间复杂度
3、最好情况时间复杂度:代码在最坏情况下执行的时间复杂度
4、平均时间复杂度:代码在所有情况下执行的次数的加权平均值
5、均摊时间复杂度:极少数高级别复杂度且发生具有时序关系时,可以将这几个高级别的复杂度均摊到低级别复杂度上,一般均摊结果就等于低级别复杂度

 

空间复杂度分析:

  • 与时间复杂度分析类似,关注算法的存储空间与数据规模之间的增长关系

 

常见的复杂度:

  • 常见的复杂度并不多,从低到高阶:O(1)、O(logn)、O(n)、O(nlogn)、O(n2)


原文链接

 


  • 不算狗血的Java自学经历
  • Java 面试题
  • 小程序

如何进行复杂度分析?_第1张图片

 

 

你可能感兴趣的:(如何进行复杂度分析?)