O(1) — константна складність

← O(1) — константна складність

Ashterix

docs: English JsonRpcBundle docs, REST and MCP Bundle sections, package cards

uk/articles/from-tg/series/algorithm-complexity/o-1.md новий файл +24 −0

1 + # O(1) — константна складність
2 +
3 + Що це означає? Що алгоритм завжди виконується за однакову кількість операцій, незалежно від обсягу даних. Це золото. Це те, що хочеться бачити в критичних місцях: перевірка прав, доступ до кешу, отримання значення з асоціативного масиву.
4 +
5 + ## Приклад: пошук елемента в хеш-таблиці
6 +
7 + ```php
8 + $array = ['a' => 1, 'b' => 2, 'c' => 3];
9 + $value = $array['b'];
10 + ```
11 +
12 + У цьому прикладі ми одразу знаходимо значення за ключем. Час виконання не залежить від розміру `$array` — хоч там 3 елементи, хоч 3000. Жодних циклів або рекурсії — це і є O(1).
13 +
14 + :::tip
15 + Цей тип складності зустрічається в PHP та інших технологіях частіше, ніж здається — і чим краще ви його впізнаєте, тим точніше зможете писати оптимальний код. Так, наприклад, працює сховище Redis, Cookie, LocalStorage, кеші фреймворків.
16 + :::
17 +
18 + Далі — O(n), класична лінійна складність, яку ви точно вже бачили і робите щодня в кожному циклі.
19 +
20 + [Уся серія](/articles/from-tg/series/algorithm-complexity) · [Наступна: O(n) — лінійна складність →](/articles/from-tg/series/algorithm-complexity/o-n)
21 +
22 + ---
23 +
24 + *Вперше опубліковано в Telegram-каналі [«Створений щоб помирати»](https://t.me/php_while_true/18) 20.06.2025.*