image.png

案例1:数组值获取(0(1))

image.png
image.pngimage.png

案例2.猜数字游戏(O(logN))

image.png

案例3.计算N的阶乘(0(N))

image.png
image.png
image.png

案例4.计算一个数组中的所有组合方式(0(N^2))

image.pngimage.pngimage.pngimage.pngimage.png
时间复杂度 - 图14

总结

从上面4个案例我们可以总结出规律:大O记法,只保留最大趋势公式,指数>线性>对数>常数。
因此我们在计算时间复杂度的时候,其实并不需要一行行看代码, 只需要关注for循环嵌套情况。
写代码的时候,如果能用线性复杂度的代码,替换指数复杂度的代码,那就是大大性能优化。
**
时间复杂度 - 图15