diff --git a/docs/chapter_computational_complexity/time_complexity.md b/docs/chapter_computational_complexity/time_complexity.md index 757638279..8057094b6 100755 --- a/docs/chapter_computational_complexity/time_complexity.md +++ b/docs/chapter_computational_complexity/time_complexity.md @@ -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} $$ diff --git a/en/docs/chapter_computational_complexity/time_complexity.md b/en/docs/chapter_computational_complexity/time_complexity.md index 94d6aed6f..af49015b3 100644 --- a/en/docs/chapter_computational_complexity/time_complexity.md +++ b/en/docs/chapter_computational_complexity/time_complexity.md @@ -717,7 +717,7 @@ For code, count from top to bottom line by line. However, since the constant coe 2. **Omit all coefficients**. For example, looping $2n$ times, $5n + 1$ times, etc., can all be simplified as $n$ times, because the coefficient before $n$ does not affect time complexity. 3. **Use multiplication for nested loops**. The total number of operations equals the product of the number of operations in the outer and inner loops, with each layer of loop still able to apply techniques `1.` and `2.` separately. -Given a function, we can use the above techniques to count the number of operations: +In the following example, each execution of an assignment or print statement counts as one operation. We omit loop-variable initialization, condition checks, and increments, which do not affect the asymptotic time complexity of this example. We can use the above techniques to further simplify the count: === "Python" @@ -964,9 +964,9 @@ The following formula shows the counting results before and after using the abov $$ \begin{aligned} -T(n) & = 2n(n + 1) + (5n + 1) + 2 & \text{Complete count (-.-|||)} \newline +T(n) & = 2n(n + 1) + (5n + 1) + 2 & \text{Before simplification (-.-|||)} \newline & = 2n^2 + 7n + 3 \newline -T(n) & = n^2 + n & \text{Simplified count (o.O)} +T(n) & = n^2 + n & \text{After simplification (o.O)} \end{aligned} $$ diff --git a/ja/docs/chapter_computational_complexity/time_complexity.md b/ja/docs/chapter_computational_complexity/time_complexity.md index b2567aef2..e0a7b98f4 100644 --- a/ja/docs/chapter_computational_complexity/time_complexity.md +++ b/ja/docs/chapter_computational_complexity/time_complexity.md @@ -717,7 +717,7 @@ $T(n)$ は一次関数であり、実行時間の増加傾向が線形である 2. **すべての係数を省略する**。例えば $2n$ 回や $5n + 1$ 回のループは、いずれも $n$ 回と簡略化できます。$n$ の前の係数は時間計算量に影響しないからです。 3. **ループが入れ子のときは乗算を使う**。総操作回数は外側のループと内側のループの操作回数の積に等しく、各ループ層には引き続き `1.` と `2.` のコツをそれぞれ適用できます。 -次の関数では、上記のコツを使って操作回数を数えられます: +次の例では、代入文または出力文を 1 回実行することを 1 回の操作として数えます。ループ変数の初期化、条件判定、インクリメントのコストは数えませんが、これらはこの例の漸近的な時間計算量に影響しません。上記のコツを使うと、この集計をさらに簡略化できます: === "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} $$ diff --git a/ru/docs/chapter_computational_complexity/time_complexity.md b/ru/docs/chapter_computational_complexity/time_complexity.md index 1070314dc..7a630aedc 100644 --- a/ru/docs/chapter_computational_complexity/time_complexity.md +++ b/ru/docs/chapter_computational_complexity/time_complexity.md @@ -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} $$ diff --git a/zh-hant/docs/chapter_computational_complexity/time_complexity.md b/zh-hant/docs/chapter_computational_complexity/time_complexity.md index ecaf5ec61..3f7ab9802 100755 --- a/zh-hant/docs/chapter_computational_complexity/time_complexity.md +++ b/zh-hant/docs/chapter_computational_complexity/time_complexity.md @@ -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} $$