Получить доступ

Алгоритмы и сложность

Основа с Junior

O-нотация, сортировки, бинарный поиск, рекурсия, обход графов — то, что спрашивают на алгоритмических секциях.

Сложность описывает, как растёт время или память с ростом входных данных. O(n) на миллионе элементов — миллисекунды, O(n²) — минуты.

Что важно знать

  • Оценивать сложность своего кода: вложенный цикл по тем же данным — O(n²), поиск в хеш-таблице — O(1) в среднем, сортировка — O(n log n).
  • Сортировки: как работают быстрая и слиянием, почему нижняя граница сравнивающих сортировок — n log n, что такое устойчивость. Встроенная сортировка языка почти всегда лучше своей.
  • Бинарный поиск по отсортированным данным — O(log n), и его вариации («первый элемент не меньше x»).
  • Два указателя, скользящее окно, префиксные суммы — приёмы, которые закрывают большую часть задач с массивами и строками.
  • Рекурсия и мемоизация, основы динамического программирования.
  • Графы: обход в ширину и в глубину, кратчайший путь.

Как готовиться

Решать задачи регулярно — 2–3 в неделю лучше, чем 50 перед собеседованием. Проговаривать решение вслух: на секции оценивают и рассуждение, и код, и проверку на граничных случаях.

Критерии освоения

Junior ≈ 40 ч

  • Оценивает сложность своего кода в O-нотации, включая вложенные циклы и операции со словарём
  • Объясняет, как работают быстрая сортировка и сортировка слиянием, и что такое устойчивость
  • Пишет бинарный поиск без ошибок на границах
  • Решает задачи на два указателя и скользящее окно уровня easy

Практика. Решить 30 задач уровня easy на массивы, строки, хеш-таблицы и бинарный поиск, у каждой записать сложность.

Middle ≈ 30 ч

  • Решает задачи уровня medium на графы (BFS, DFS), рекурсию и динамическое программирование
  • Проговаривает решение вслух, оценивает сложность и проверяет граничные случаи до запуска

Практика. Решить 40 задач уровня medium и пройти 2 пробные алгоритмические секции по 45 минут с решением вслух.

Вопросы с собеседований

Документация

← Вся карта «ИИ-инженер»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем