时间复杂度
1) 定义
时间复杂度分析是分析频度之和的量级
符号
T(n) 算法问题复杂度函数
O(f(n)) 算法的基本运算(最深处循环内语句)的频度
数理基础
算法的基本运算(最深处循环内语句)的频度与算法问题复杂度函数同数量级
2)计算
T(n) = O(f(n))
保留f(n)中增长速度最快的项,
去掉上述保留向的系数,系数设为1
如
f(n)= 3n^2+2n
T(n) =O(n^2)
常见阶
O(1)常数阶O(n)线性阶O(logn)对数阶O(n^2)平方阶
规则
T(n)=T(n1)+T(n2)= O(f(n1))+ O(f(n2))
T(n)=T(n1)*T(n2)= O(f(n1))* O(f(n2))
时间复杂度的计算例子
递归调用
直接加,没有循环套用的递归深度n次,时间复杂度就是n次、时间复杂度O(n)
循环
设置t时跳出循环,求出t的阶数就是时间复杂度,如O(n^2)
浙公网安备 33010602011771号