1.时间复杂度
1/是算法需要执行基本运算的次数所处的等级。
2/时间复杂度是评判算法时间效率的有效标准。
3/加减乘除为单次复杂度增长
乘法除法会升降复杂度的幂
4/高等级的幂次会覆盖低等级的幂次。
O(3n2+n+2)可近似看为O(cn2)
5/时间复杂度常数有时会组合出现有时表示算法消耗的时间不随规模的增长而增长。
对于OJ系统来说,一秒能承受的运算次数大概是107-108。
2.空间复杂度
与时间复杂度表示方法相同,但表示的是消耗的最大数据空间。
若消耗的最大数据空间是一个二维数组,那该程序的空间复杂度就是O(n2)(所占空间大小随n的增加而增加。
O(1)的空间复杂度是指算法消耗的空间不随数据规模的增大而增大。
(散列法是一种以空间换时间的高效方法)
3.编码复杂度
编码复杂度是定性的概念,并没有什么量化的标准。对一个问题来说,如果使用冗长的算法思想,那么代码量将会非常巨大,其编码复杂度就会非常大。