Ответ
Линейная сложность O(n) означает, что время выполнения алгоритма растёт прямо пропорционально размеру входных данных.
Пример - поиск максимального элемента в массиве:
function findMax(arr) {
let max = arr[0];
for (let i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
В этом случае:
- Проходим по каждому элементу массива ровно 1 раз
- Количество операций прямо зависит от длины массива (n)
- В худшем случае (когда массив отсортирован по возрастанию) сделаем n-1 сравнений
Другие примеры: суммирование элементов массива, линейный поиск, обход связного списка.