1、时空复杂度
时间复杂度
- 以算法中基本操作重复执行的次数(简称为频度)作为算法的时间度量。一般不需要精确计算,只要大致算出相应的数量级即可
大 O 表示法
- O(nn) : n 次方阶
- O(n!):阶乘阶
- O(2n):指数阶
- O(n3):立方阶:三层 for 循环
- O(n2):平方阶:两层 for 循环
- O(nlog2n):线性对数阶:
- O(n):线性阶:单层 for 循环体
- O(log2n):对数阶:ax = b -> x = logab
- O(1):常数阶:和问题规模无关
加法规则
多项相加,保留最高阶项,并将系数化为 1
乘法规则
多项相乘都保留,系数化为 1
加法乘法混合规则
小括号再乘法规则最后加法规则
空间复杂度
- 和问题规模相关
- 和变量定义的数量有关
