Приведи пример линейной сложности алгоритма

Ответ

Линейная сложность 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 сравнений

Другие примеры: суммирование элементов массива, линейный поиск, обход связного списка.