DEV//UNIT
01 / Раздел

АЛГОРИТМЫ

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

Data Structures

Trie (префиксное дерево)

Слова как пути от корня: общие префиксы хранятся один раз.

графначальныйO(длины слова)

Union-Find (DSU)

Множества с быстрым «в одном ли?» и слиянием за ~O(1).

графначальный~O(1) amortized

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

Слева меньше, справа больше: поиск как в отсортированном массиве, вставка — как в списке.

графначальныйO(h); O(log n) если сбалансировано

Двусвязный список

У каждого узла prev и next: удаление O(1), обход в обе стороны.

графначальныйO(1) вставка/удаление

Дек (deque)

Двусторонняя очередь: добавление и снятие с обоих концов за O(1).

массивначальныйO(1) с обоих концов

Куча (приоритетная очередь)

Min-heap: минимум в корне, вставка и извлечение за O(log n).

графначальныйO(log n) insert/extract

Очередь

FIFO: кто пришёл раньше — тот обслуживается раньше. enqueue в конец, dequeue из начала.

массивначальныйO(1) enqueue/dequeue

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

Узлы и указатели next: вставка и удаление O(1), но поиск — всегда последовательный O(n).

графначальныйO(1) вставка, O(n) поиск

Стек

LIFO: последний вошёл — первым вышел. push и pop за O(1) с одной стороны.

массивначальныйO(1) push/pop

Хеш-таблица

Хеш мгновенно говорит, в какой корзине ключ: вставка и поиск O(1) в среднем.

массивначальныйO(1) в среднем