Многие алгоритмы максимального потока, которые я обычно вижу реализованными, алгоритм Dinic, push relbel и другие, могут улучшить свои асимптотические временные затраты за счет использования динамических деревьев (также известных как деревья среза ссылок).
- Push-релабель запускается в или или нормально, но с динамическими деревьямиO ( V 3 ) O ( V 2 √O(VElog(V2/E))
- Алгоритм Диника работает в , но с динамическими деревьямиO ( V E log ( V ) )
Однако практические реализации алгоритмов максимального потока в большинстве библиотек, похоже, не используют эту структуру данных. Используются ли когда-либо динамические деревья на практике для вычисления максимального потока? Или они несут слишком много накладных расходов, чтобы быть полезными для реальных проблемных размеров?
Есть ли другие проблемные домены, в которых используются деревья ссылок?
Этот вопрос связан с вопросом, который я задал в рамках теории: практичен ли какой-либо из современных алгоритмов максимального потока?