PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Что такое алгоритм?

Продвинутые темы

Алгоритм — это конечная последовательность чётко определённых шагов для решения задачи или выполнения вычисления.

Свойства алгоритма

  • Конечность — завершается за конечное число шагов.
  • Определённость — каждый шаг однозначен.
  • Вход — принимает исходные данные (0 или больше).
  • Выход — производит результат.
  • Эффективность — шаги выполнимы за разумное время.

Пример

// Алгоритм поиска максимума
function findMax(arr) {
  let max = arr[0];
  for (const x of arr) {
    if (x > max) max = x;   // шаг сравнения
  }
  return max;
}

Оценка алгоритмов

  • Временная сложность (O большое) — как растёт время от размера входа.
  • Пространственная сложность — сколько памяти нужно.
  • Корректность — даёт ли верный результат.

Виды

Сортировки, поиск, обход графов/деревьев, «разделяй и властвуй», жадные, динамическое программирование.

Зачем важны

Выбор эффективного алгоритма определяет производительность на больших данных (например, O(log n) против O(n²)).

Коротко для собеседования

Алгоритм — конечная последовательность однозначных шагов для решения задачи (с входом, выходом, конечностью, определённостью). Оценивают по временной и пространственной сложности (O большое) и корректности. Выбор алгоритма определяет производительность.

Другие вопросы раздела