算法的复杂度介绍

1、复杂度也叫渐进复杂度,包括时间复杂度空间复杂度,用来分析算法执行效率数据规模之间的增长关系。

2、常见的从低阶到高阶的复杂度为:O(1)→O(logn)→O(n)→O(nlogn)→O(n²)。

3、时间复杂度的分析方法有:

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

(2)加法法则:总复杂度等于量级最大的那段代码的复杂度。

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

4、复杂度的量级可以分为两类:多项式量级非多项式量级。非多项式量级有两个:O(2n)和O(n!),当n越来越大时,NP是非常低效的算法。

5、同一段代码,在不同的输入情况下,复杂度量级可能不一样,可以分为以下几种:

最好情况时间复杂度最坏情况时间复杂度平均情况时间复杂度均摊时间复杂度

猜你喜欢

转载自www.cnblogs.com/xy80hou/p/11021375.html