Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Живое ревью с ИИ
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. Алгоритмы и структуры данных
Алгоритмы и CS·7 тем·46 вопросов·уровень Junior, Middle

Алгоритмы и структуры данных

Основы алгоритмов и структур данных: сложность, массивы, списки, стеки, очереди, деревья, графы, сортировка, поиск, динамическое программирование и продвинутые техники.

Начать курс

Алгоритмы и структуры данных

Разница между O(n) и O(n²) не видна на тестовых данных. Она проявляется, когда записей становится десятки тысяч, и выясняется, что внутри цикла по заказам стоит поиск по списку клиентов. Курс — про базу, которая нужна в двух случаях: на собеседовании и в тот день, когда что-то неожиданно стало работать минутами вместо секунд.

Семь тем. Сложность: нотация «О большое», оценка по времени и по памяти, анализ на примерах — включая случаи, где формально худшая оценка на практике не важна. Структуры данных: массивы и связные списки с их противоположными сильными сторонами, стеки, очереди, хеш-таблицы, деревья, кучи — и главный практический вопрос, какую взять под конкретную задачу.

Сортировки — пузырьком, выбором, вставками, слиянием, быстрая, пирамидальная: не чтобы писать их в работе (там есть встроенная), а чтобы понимать, откуда берутся их свойства — устойчивость, поведение на почти отсортированных данных, требования к памяти. Поиск: линейный, двоичный, обходы деревьев и графов.

Графы: обход в ширину и в глубину, топологическая сортировка, кратчайшие пути. Динамическое программирование: мемоизация и табуляция на классических задачах — числа Фибоначчи, рюкзак, наибольшая общая подпоследовательность. Последняя тема — приёмы, которые чаще всего выручают: два указателя, скользящее окно, система непересекающихся множеств, работа с рекурсией.

Это база, не подготовка к собеседованиям в конкретные компании: для неё есть отдельный курс по задачам LeetCode. Язык примеров значения не имеет.

  1. 1

    Сложность алгоритмов

    Big O нотация, временная и пространственная сложность, анализ алгоритмов

    10 вопросов
  2. 2

    Структуры данных

    Массивы, связные списки, стеки, очереди, хэш-таблицы, деревья, кучи

    7 вопросов
  3. 3

    Сортировка

    Пузырьковая, выбором, вставкой, слиянием, быстрая сортировка, куча

    9 вопросов
  4. 4

    Поиск

    Линейный поиск, бинарный поиск, поиск в деревьях и графах

    5 вопросов
  5. 5

    Графы

    BFS, DFS, топологическая сортировка, нахождение кратчайших путей

    5 вопросов
  6. 6

    Динамическое программирование

    Мемоизация, табуляция, классические задачи (Fibonacci, рюкзак, LCS)

    5 вопросов
  7. 7

    Продвинутые техники

    Два указателя, скользящее окно, Union-Find, рекурсия и другие паттерны

    5 вопросов
  8. Зачёт

    Доступен после всех тем (0 из 7)

  9. Экзамен

    Доступен после зачёта

16 / 16

Big O нотация

Сложность

Математическая нотация, описывающая верхнюю границу роста функции. Используется для анализа временной и пространственной сложности алгоритмов.

Пример

O(1) — константная сложность, O(n) — линейная, O(log n) — логарифмическая, O(n²) — квадратичная

Связанные термины

Массив

Структуры данных

Линейная структура данных, где элементы хранятся в непрерывной области памяти и доступны по индексу за O(1).

Пример

В Python: list = [1, 2, 3, 4]

Связанные термины

Связный список

Структуры данных

Линейная структура данных, где каждый элемент (узел) содержит данные и ссылку на следующий узел. Доступ по индексу O(n), вставка/удаление при наличии указателя O(1).

Пример

В Python: collections.deque для двусвязного списка

Связанные термины

Стек

Структуры данных

Структура данных с принципом LIFO (Last In First Out): последний добавленный элемент извлекается первым. Операции push и pop за O(1).

Пример

В Python: list.append() и list.pop()

Связанные термины

Очередь

Структуры данных

Структура данных с принципом FIFO (First In First Out): первый добавленный элемент извлекается первым. Операции enqueue и dequeue за O(1).

Пример

В Python: collections.deque для очереди

Связанные термины

Хэш-таблица

Структуры данных

Структура данных для хранения пар ключ-значение с средней сложностью O(1) для операций поиска, вставки и удаления.

Пример

В Python: dict

Связанные термины

Бинарный поиск

Поиск

Алгоритм поиска в отсортированном массиве, который делит массив пополам на каждом шаге. Сложность O(log n).

Пример

В Python: bisect.bisect_left(arr, val)

Связанные термины

Сортировка слиянием

Сортировка

Рекурсивный алгоритм сортировки, который делит массив пополам, рекурсивно сортирует части и затем сливает их. Сложность O(n log n).

Пример

Python sorted() использует Timsort — гибрид merge sort и insertion sort

Связанные термины

Быстрая сортировка

Сортировка

Рекурсивный алгоритм сортировки, который выбирает опорный элемент (pivot) и разделяет массив на две части. Средняя сложность O(n log n), худшая O(n²).

Пример

На практике часто быстрее merge sort из-за cache locality

Связанные термины

BFS (обход в ширину)

Графы

Алгоритм обхода графа, который посещает все узлы текущего уровня перед переходом к следующему. Находит кратчайший путь в невзвешенном графе за O(V+E).

Пример

Использует очередь для хранения узлов

Связанные термины

DFS (обход в глубину)

Графы

Алгоритм обхода графа, который идет вглубь до конца пути перед возвратом. Использует стек или рекурсию. Сложность O(V+E).

Пример

Применяется для топологической сортировки, обнаружения циклов

Связанные термины

Мемоизация

Динамическое программирование

Техника динамического программирования, при которой результаты рекурсивных вызовов кэшируются для избежания повторных вычислений.

Пример

В Python: @lru_cache декоратор

Связанные термины

Табуляция

Динамическое программирование

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

Пример

Итеративное решение задачи Фибоначчи

Связанные термины

Два указателя

Продвинутые техники

Паттерн, при котором два указателя движутся по массиву навстречу или в одном направлении с разной скоростью для решения задач за O(n) вместо O(n²).

Пример

Поиск пары с заданной суммой в отсортированном массиве

Связанные термины

Скользящее окно

Продвинутые техники

Техника, при которой окно фиксированного или переменного размера скользит по массиву/строке, обновляя результат инкрементально.

Пример

Нахождение подмассива с максимальной суммой

Связанные термины

Union-Find (DSU)

Продвинутые техники

Структура данных для объединения множеств и проверки принадлежности одному множеству. Операции find и union за почти O(1) с path compression и union by rank.

Пример

Алгоритм Краскала для минимального остовного дерева

Связанные термины

Частые вопросы о курсе «Алгоритмы и структуры данных»

Состав курса, уровни, практика и способы проверки знаний.

Что входит в курс «Алгоритмы и структуры данных»?

Курс включает 7 тем и 46 вопросов с разбором ответа. Начать можно с первой темы курса.

Для какого уровня рассчитан курс «Алгоритмы и структуры данных»?

Маршрут охватывает уровни Junior, Middle. Темы расположены от основы к более сложным инженерным задачам, поэтому можно начать с подходящего места и не пропускать важные зависимости.

Как проверить, что материал усвоен?

После прохождения тем доступен зачёт по курсу «Алгоритмы и структуры данных» — 20 случайных вопросов с порогом 80%. После зачёта открывается экзамен с развёрнутыми ответами и автоматической оценкой, приближённый к техническому собеседованию.

Курс «Алгоритмы и структуры данных» бесплатный?

Да, курс полностью бесплатный: все 7 тем доступны без оплаты.