Статьи об алгоритмах и структурах данных
В блоге AlgoPath статьи об алгоритмах, структурах данных и подготовке к собеседованиям, для разработчиков без профильного образования. Статей сейчас 40. Многие разбирают один паттерн, с кодом и примером по шагам. Остальные объясняют, как учиться и как проходить собеседование.
Префиксное дерево (trie): когда set не хватает и как написать за 20 строк
Префиксное дерево хранит слова по буквам и отвечает про префиксы за O(L). Чем оно отличается от хеш-множества, код на Python и задача Word Search II.
2026-10-03
Система непересекающихся множеств: union-find за O(1) и когда его брать
Union-find отвечает, лежат ли два элемента в одной группе, почти за O(1). Массив parent, сжатие пути, код на Python и задача Number of Provinces.
2026-10-01
Бинарная куча: как устроена, когда нужна и как написать на Python
Бинарная куча хранит минимум в корне и меняется за O(log n). Как она лежит в массиве, по каким словам её узнать в задаче, heapq на Python и задача Kth Largest Element.
2026-09-29
Как научиться решать алгоритмические задачи
Знать язык и решать алгоритмические задачи это два разных навыка. Между ними лежат пять конкретных вещей, и ни одна из них не талант.
2026-09-29
Алгоритм Кана: топологическая сортировка простыми словами
Алгоритм Кана строит топологический порядок через подсчёт входящих рёбер. Трассировка по шагам, код на Python с проверкой на цикл, слова в условии, по которым его узнают, и три ошибки.
2026-09-26
Эйлеров путь: когда он существует и как найти его за O(E)
Эйлеров путь проходит каждое ребро ровно один раз. Условия существования в одной таблице, алгоритм Хирхольцера на Python и задача Reconstruct Itinerary, в которой он прячется.
2026-09-25
Тренажёр алгоритмов: чем он отличается от банка задач
Тренажёр задаёт порядок и заставляет вспоминать. Банк задач даёт объём и оставляет тебя одного. Четыре вопроса, по которым тренажёр стоит проверять до оплаты.
2026-09-25
Монотонный стек: как узнать его в задаче и написать за 10 минут
Монотонный стек находит ближайшего большего или меньшего соседа за один проход. Слова в условии, которые на него указывают, код на Python, отличие от монотонной очереди и четыре типичные ошибки.
2026-09-23
Два указателя и скользящее окно: как их не путать
Два указателя и скользящее окно оба идут по массиву двумя индексами. Различает их смысл этих индексов, и ещё три пары устроены так же.
2026-09-22