← Все навыки

Алгоритмы. Продвинутый курс

Девять продвинутых тем, которые встречаются реже, но нужны на сложных секциях: heap, trie, графы, Union-Find, битовые операции и динамическое программирование

9 лекций + задачи из компаний Middle+ / Senior Индивидуально с ментором

Для кого этот курс

  • Вы готовитесь к собеседованиям, где встречаются Hard-задачи
  • Вы прошли базовый курс алгоритмов и хотите закрыть продвинутые темы
  • Вам нужны темы, которые встречаются реже базовых, но без них на сложной секции не обойтись

На входе предполагается материал курса «Алгоритмы. Основы»: структуры данных, HashMap, два указателя, бинарный поиск, рекурсия и деревья, включая BST.

Программа

Heap (куча)

Приоритетная очередь, top-K задачи
  • Операции с кучей: sift up / sift down, heapify за O(n)
  • Паттерн «два heap»: медиана из потока данных
  • Задачи: Kth Largest, Top K Frequent, Find Median from Data Stream

Trie

Префиксные деревья
  • Эффективное хранение строк и поиск слов
  • Autocomplete и задачи на префиксы

Матрицы

Rotation, spiral traversal
  • Представление в памяти, операции и поиск
  • Spiral Matrix, Set Matrix Zeroes, подготовка к графам

Графы: основы

BFS/DFS, компоненты связности
  • Представление графов: adjacency list / matrix
  • Обходы BFS и DFS, задачи на матрицах-графах
  • Number of Islands, Flood Fill

Графы: продвинутые

Кратчайшие пути, топосортировка
  • Дейкстра и Bellman-Ford
  • Топологическая сортировка, обнаружение циклов

Union-Find (DSU)

Система непересекающихся множеств
  • Сжатие путей и объединение по рангу
  • Задачи на связность

Битовые операции

Маски, сдвиги, XOR
  • AND, OR, XOR, сдвиги, флаги и маски
  • Оптимизации через битовые трюки

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

Top-down / bottom-up
  • Состояния, переходы, memoization и tabulation
  • Классика: Climbing Stairs, LIS, 0/1 Knapsack

Продвинутый DP

Интервалы и битмаски
  • DP на интервалах и подпоследовательностях
  • DP по битовым маскам (bitmask DP)

Задачи из компаний

Реальные задачи с собеседований
  • Отдельные наборы задач по компаниям: Яндекс, Озон, Т-Банк, Авито
  • Разбор в формате интервью: уточнение условия, brute force, оптимизация

Как построено обучение

Темы выстроены по зависимостям: графовый блок идёт единым куском, битовые операции — перед продвинутым DP

  • Предполагается пройденный базовый курс «Алгоритмы. Основы»
  • Лекция по каждой теме; упражнения пока есть у трёх — матрицы, графы (BFS и DFS) и динамическое программирование
  • Отдельный блок с задачами из собеседований Яндекса, Озона, Т-Банка и Авито