计算算法的时间复杂度,本质上是分析算法执行时间随输入规模增长的变化趋势,通常用**大 O 记号(O 表示法)**来描述。
下面用通俗易懂的方式说明步骤和方法。
时间复杂度 不表示具体运行秒数,而是表示:
当输入规模
n变大时,算法执行基本操作次数的增长量级
例如:
通常是:
n常见例子:
统计基本操作执行的次数(用 n 表示)
只保留增长最快的部分。
a = b + c
执行次数与 n 无关 → O(1)
for i in range(n):
print(i)
循环执行 n 次 → O(n)
for i in range(n):
for j in range(n):
print(i, j)
嵌套循环 → n × n → O(n²)
while n > 1:
n = n // 2
每次规模减半 → O(log n)(典型:二分查找)
for i in range(n):
# 内部是 log n 操作
常见于:
| 情况 | 时间复杂度 |
|---|---|
| 顺序执行 | 相加,取最大 |
| 循环 | 乘法 |
| 条件判断 | 看最坏情况 |
| 递归 | 看递归树或主定理 |
如果你有具体代码或算法(比如排序、查找、递归),我可以直接帮你算时间复杂度。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。