时间复杂度分析:
1.算法函数中常数可以忽略
2.算法函数的最高次幂的常数因子可以忽略
3.算法函数中最高次幂越小,算法效率越高
大O记法:
1.用常数1取代运行时间中的所有加法常数
2.只保留最高阶项
3.如果常数因子不为1,则去除最高阶层的常数因子
例子:
前提:执行次数=执行时间
算法1:3次
算法2:n+3次
算法3:n^2+2
用大0记法则记为:
算法1:O(1)
算法2:O(N)
算法3:O(N^2)
空间复杂度分析:
内存占用
1.计算机访问内存的方式一次一个字节
2.一次引用需要8个字节
3.创建对象需要16个字节,用来保存对象的头信息
4.一般内存的使用如果不够8个字节,都会被自动填充为8个
算法的空间复杂度
1.估算代码的所占内存是多少字节,如果字节是常数则用大O记法,计为O(1)
2.如果代码所占内存有n倍这个因素,记为O(n)