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

АЛГОРИТМЫ

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

Real-world Development

Debounce

Функция вызовется только после паузы: серия событий схлопывается в один вызов в конце.

таймлайнначальныйO(1) на событие

LFU-кэш

Вытесняет ключи с наименьшим числом обращений.

массивначальныйO(1) amortized

LRU-кэш

Вытесняет то, к чему дольше всего не обращались.

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

Leaky Bucket

Запросы копятся в очереди, обрабатываются строго равномерно.

таймлайнначальныйO(1) на запрос

PageRank

Важность = голоса входящих ссылок с затуханием: ядро Google.

графсреднийO(iter · E)

Round Robin

По кругу и всем поровну: расхождение максимум один слот.

массивначальныйO(1) next

Throttle

Вызов срабатывает сразу, но не чаще раза в интервал — лишние события дропаются.

таймлайнначальныйO(1) на событие

Token Bucket

Токены капают равномерно; запрос тратит токен; пусто — отказ.

таймлайнначальныйO(1) на запрос

Выборка из потока (reservoir)

Равновероятная выборка k элементов из потока неизвестной длины за один проход.

массивсреднийO(n)

Консистентное хеширование

Кольцо хешей: ключ у ближайшего сервера; новый узел забирает только свой сектор.

графначальныйO(log N) поиск сервера

Фильтр Блума

Битовая карта отвечает «точно нет» или «возможно да» — за биты вместо гигабайтов.

массивсреднийO(k) хешей

Экспоненциальный backoff

Ретраи с растущей задержкой и джиттером: 2^n с рандомом.

таймлайнначальныйO(попыток)