04时间复杂度计算方法
时间复杂度计算的基本步骤
- 确定基本操作:分析算法中最核心、重复执行的语句,这通常是循环或递归内部的操作。
- 统计执行次数:计算基本操作语句在输入规模n下的执行总次数,这就是算法的时间频度T(n)T(n)T(n)。
- 忽略低阶项和常数因子:只保留最高阶项,去掉系数与低阶项。
- 用大O表示法表示:最终将时间复杂度写成O(f(n))O(f(n))的形式。
常见简单循环代码的时间复杂度
单层循环
for i in range(n):# 基本操作do_something()
- 基本操作执行了 n 次
- 时间复杂度:O(n)O(n)O(n)
双层嵌套循环
for i in range(n):for j in range(n):do_something()
- 每次外层循环,内层循环执行n次,因此总共n×n=n2n×n=n^2n×n=n2次。
- 时间复杂度:O(n2)O(n^2)O(n