mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-10 21:16:43 +08:00
build
This commit is contained in:
@@ -578,7 +578,7 @@ comments: true
|
||||
/* 递归的空间复杂度为 O(n) */
|
||||
void recur(int n) {
|
||||
if (n == 1) return;
|
||||
return recur(n - 1);
|
||||
recur(n - 1);
|
||||
}
|
||||
```
|
||||
|
||||
@@ -598,7 +598,7 @@ comments: true
|
||||
/* 递归的空间复杂度为 O(n) */
|
||||
void recur(int n) {
|
||||
if (n == 1) return;
|
||||
return recur(n - 1);
|
||||
recur(n - 1);
|
||||
}
|
||||
```
|
||||
|
||||
@@ -727,7 +727,7 @@ comments: true
|
||||
/* 递归的空间复杂度为 O(n) */
|
||||
void recur(int n) {
|
||||
if (n == 1) return;
|
||||
return recur(n - 1);
|
||||
recur(n - 1);
|
||||
}
|
||||
```
|
||||
|
||||
@@ -769,7 +769,7 @@ comments: true
|
||||
/* 递归的空间复杂度为 O(n) */
|
||||
void recur(int n) {
|
||||
if (n == 1) return;
|
||||
return recur(n - 1);
|
||||
recur(n - 1);
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -757,7 +757,7 @@ $T(n)$ 是一次函数,说明其运行时间的增长趋势是线性的,因
|
||||
|
||||
若存在正实数 $c$ 和实数 $n_0$ ,使得对于所有的 $n > n_0$ ,均有 $T(n) \leq c \cdot f(n)$ ,则可认为 $f(n)$ 给出了 $T(n)$ 的一个渐近上界,记为 $T(n) = O(f(n))$ 。
|
||||
|
||||
如图 2-8 所示,计算渐近上界就是寻找一个函数 $f(n)$ ,使得当 $n$ 趋向于无穷大时,$T(n)$ 和 $f(n)$ 处于相同的增长级别,仅相差一个常数项 $c$ 的倍数。
|
||||
如图 2-8 所示,计算渐近上界就是寻找一个函数 $f(n)$ ,使得当 $n$ 趋向于无穷大时,$T(n)$ 和 $f(n)$ 处于相同的增长级别,仅相差一个常数系数 $c$。
|
||||
|
||||
{ class="animation-figure" }
|
||||
|
||||
@@ -771,9 +771,9 @@ $T(n)$ 是一次函数,说明其运行时间的增长趋势是线性的,因
|
||||
|
||||
### 1. 第一步:统计操作数量
|
||||
|
||||
针对代码,逐行从上到下计算即可。然而,由于上述 $c \cdot f(n)$ 中的常数项 $c$ 可以取任意大小,**因此操作数量 $T(n)$ 中的各种系数、常数项都可以忽略**。根据此原则,可以总结出以下计数简化技巧。
|
||||
针对代码,逐行从上到下计算即可。然而,由于上述 $c \cdot f(n)$ 中的常数系数 $c$ 可以取任意大小,**因此操作数量 $T(n)$ 中的各种系数、常数项都可以忽略**。根据此原则,可以总结出以下计数简化技巧。
|
||||
|
||||
1. **忽略 $T(n)$ 中的常数项**。因为它们都与 $n$ 无关,所以对时间复杂度不产生影响。
|
||||
1. **忽略 $T(n)$ 中的常数**。因为它们都与 $n$ 无关,所以对时间复杂度不产生影响。
|
||||
2. **省略所有系数**。例如,循环 $2n$ 次、$5n + 1$ 次等,都可以简化记为 $n$ 次,因为 $n$ 前面的系数对时间复杂度没有影响。
|
||||
3. **循环嵌套时使用乘法**。总操作数量等于外层循环和内层循环操作数量之积,每一层循环依然可以分别套用第 `1.` 点和第 `2.` 点的技巧。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user