k = √
- алгоритм гигантского шага baby-step для вычисления дискретного логарифма в ,
- статический двухмерный ортогональный отсчет во времени и памяти ,
- приоритетная очередь с EXTRACT-MIN в и DECREASE-KEY в ,
- раскрасить трехцветный граф цветами за полиномиальное время,
Просто назвать несколько.
Хотя такие алгоритмы часто бывают неоптимальными, их легко понять студентам и хорошо показать, что наивные границы не являются оптимальными. Кроме того, структуры данных с квадратным корнем иногда более практичны, чем их аналоги на основе бинарного дерева, из-за удобства работы с кешем (без учета методов, не обращающих внимания на кеш). Вот почему я уделяю немного внимания этой теме во время обучения.
Мне интересны более характерные примеры такого рода. Поэтому я ищу любые (желательно элегантные) алгоритмы, структуры данных, протоколы связи и т. Д., Анализ которых основан на идее квадратного корня. Их асимптотика не должна быть оптимальной.