mirror of
https://github.com/krahets/hello-algo.git
synced 2026-10-21 05:25:19 +08:00
docs: clarify the operation-counting convention
This commit is contained in:
@@ -717,7 +717,7 @@ $T(n)$ 是一次函数,说明其运行时间的增长趋势是线性的,因
|
||||
2. **省略所有系数**。例如,循环 $2n$ 次、$5n + 1$ 次等,都可以简化记为 $n$ 次,因为 $n$ 前面的系数对时间复杂度没有影响。
|
||||
3. **循环嵌套时使用乘法**。总操作数量等于外层循环和内层循环操作数量之积,每一层循环依然可以分别套用第 `1.` 点和第 `2.` 点的技巧。
|
||||
|
||||
给定一个函数,我们可以用上述技巧来统计操作数量:
|
||||
以下示例将每次赋值或打印语句的执行计为一次操作,暂不统计循环变量初始化、条件判断和递增的开销;这些开销不影响本例的渐近时间复杂度。我们可以用上述技巧进一步简化计数:
|
||||
|
||||
=== "Python"
|
||||
|
||||
@@ -964,9 +964,9 @@ $T(n)$ 是一次函数,说明其运行时间的增长趋势是线性的,因
|
||||
|
||||
$$
|
||||
\begin{aligned}
|
||||
T(n) & = 2n(n + 1) + (5n + 1) + 2 & \text{完整统计 (-.-|||)} \newline
|
||||
T(n) & = 2n(n + 1) + (5n + 1) + 2 & \text{简化前 (-.-|||)} \newline
|
||||
& = 2n^2 + 7n + 3 \newline
|
||||
T(n) & = n^2 + n & \text{偷懒统计 (o.O)}
|
||||
T(n) & = n^2 + n & \text{简化后 (o.O)}
|
||||
\end{aligned}
|
||||
$$
|
||||
|
||||
|
||||
Reference in New Issue
Block a user