时间复杂度:函数语句总的执行次数与问题规模n的函数表达式
空间复杂度:函数中创建对象的个数关于问题的规模函数表达式
一般算法O(n)计算方法:
- 用常数1取代运行时间中的所有加法常数
- 在修改后的运行次数函数中,只保留最高阶项
- 如果最高阶项系数存在且不是1,则去除与这个项相乘的常数
递归算法:
时间复杂度:递归总次数 * 每次递归次数
空间复杂度:递归深度 * 每次栈帧的个数
常用的时间复杂度所耗费的时间从小到大依次是:
O(1)<O(logN)<O(N)<O(nlogN)<O(n²)<O(n³)<O(2ⁿ)<O(n!)<O(nⁿ)