docs: English JsonRpcBundle docs, REST and MCP Bundle sections, package cards
uk/articles/from-tg/series/algorithm-complexity/o-n.md
новий файл +28
−0
1
+
# O(n) — лінійна складність
2
+
3
+
Це найпоширеніший тип складності, який ви бачите щодня.
4
+
5
+
Уявімо, що у вас є масив з 1000 елементів і потрібно знайти одне значення. Якщо масив не відсортований, іншого шляху, окрім як перевірити кожен елемент, просто немає. І саме це означає O(n) — час виконання зростає прямо пропорційно до кількості елементів.
6
+
7
+
## Приклад: лінійний пошук у масиві
8
+
9
+
```php
10
+
function linearSearch($array, $target) {
11
+
for ($i = 0; $i < count($array); $i++) {
12
+
if ($array[$i] === $target) {
13
+
return $i;
14
+
}
15
+
}
16
+
return -1;
17
+
}
18
+
```
19
+
20
+
Класика. Від `foreach` до `array_map` або `array_filter` — більшість ваших ітерацій працює саме в O(n).
21
+
22
+
O(n) — це ще не погано. Це нормально. Але якщо обробляєте мільйони записів — треба думати, як зробити краще.
23
+
24
+
← [Попередня: O(1) — константна складність](/articles/from-tg/series/algorithm-complexity/o-1) · [Уся серія](/articles/from-tg/series/algorithm-complexity) · [Наступна: O(log n) — логарифмічна складність →](/articles/from-tg/series/algorithm-complexity/o-log-n)
25
+
26
+
---
27
+
28
+
*Вперше опубліковано в Telegram-каналі [«Створений щоб помирати»](https://t.me/php_while_true/24) 21.06.2025.*