From ee4d27dc17da509fb20a9bc69d79b17f517b23e0 Mon Sep 17 00:00:00 2001 From: sunshinesDL <61528023+sunshinesDL@users.noreply.github.com> Date: Thu, 10 Jul 2025 07:08:44 +0800 Subject: [PATCH] Update time_complexity.md (#1772) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update time_complexity.md 对于多项式函数 c * f(n), 系数 c 好像不能称为常数项,遂查阅《算法导论 第三版》相关章节,在其 26 页使用了常量因子这一表述,该表述好像晦涩了些,小白提议这里将 ”常数项“ 改为 ”常数“。 欢迎 K大及评阅大佬指正! * Update time_complexity.md --------- Co-authored-by: Yudong Jin --- docs/chapter_computational_complexity/time_complexity.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/chapter_computational_complexity/time_complexity.md b/docs/chapter_computational_complexity/time_complexity.md index 4dae586ae..d9feac7fe 100755 --- a/docs/chapter_computational_complexity/time_complexity.md +++ b/docs/chapter_computational_complexity/time_complexity.md @@ -751,7 +751,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))$ 。 -如下图所示,计算渐近上界就是寻找一个函数 $f(n)$ ,使得当 $n$ 趋向于无穷大时,$T(n)$ 和 $f(n)$ 处于相同的增长级别,仅相差一个常数项 $c$ 的倍数。 +如下图所示,计算渐近上界就是寻找一个函数 $f(n)$ ,使得当 $n$ 趋向于无穷大时,$T(n)$ 和 $f(n)$ 处于相同的增长级别,仅相差一个常数系数 $c$。 ![函数的渐近上界](time_complexity.assets/asymptotic_upper_bound.png) @@ -763,9 +763,9 @@ $T(n)$ 是一次函数,说明其运行时间的增长趋势是线性的,因 ### 第一步:统计操作数量 -针对代码,逐行从上到下计算即可。然而,由于上述 $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.` 点的技巧。