mirror of
https://github.com/krahets/hello-algo.git
synced 2026-10-26 15:55:21 +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