Ответ
Сложность алгоритма — это оценка количества ресурсов (времени и памяти), которые потребуются алгоритму для выполнения в зависимости от размера входных данных.
Основные виды сложности:
- Временная (Time Complexity) — сколько шагов выполнит алгоритм.
- Пространственная (Space Complexity) — сколько памяти потребуется.
Примеры нотации Big-O:
- O(1) — константная сложность (доступ к элементу массива).
- O(n) — линейная (перебор массива).
- O(n²) — квадратичная (вложенные циклы).
// O(n) — линейный поиск
function linearSearch(arr, target) {
for (let i = 0; i < arr.length; i++) {
if (arr[i] === target) return i;
}
return -1;
}
Чем меньше сложность, тем эффективнее алгоритм на больших данных.