Я ищу алгоритм, когда заданные два узла 's' и 't' в объявленном графе, чтобы найти грани с минимальным разрезом, который разбивает граф на два A и B, 's' будет в A и 't' будет в B.Как использовать алгоритм Диникова для поиска краев с минимальным разрезом в нулевом графике?
Я вижу большинство людей, предлагающих для алгоритма Форда-Фулкерсона для этой задачи, по адресу here. Я думаю, что можно использовать алгоритм Динина для этого. Поскольку алгоритм Dinic может ускоряться с динамическим деревом. Потому что я хочу найти минимально разрезанные края самым быстрым способом.
Какой алгоритм быстрее подходит для поиска минимальных границ в огромном неориентированном графе?
Я хотел бы услышать некоторые советы, пока я изучаю детали этого алгоритма.
Заранее спасибо
Первоначально я применил модифицированные dfs, чтобы найти все простые пути и вычислить минимальные ребра из этих путей, но это довольно медленно, когда граф становится больше. Отличный ответ, это дает мне уверенность в применении Dinic с динамическим деревом для этой проблемы. Благодаря :). Надеюсь, что это решение выйдет быстрее. – arslan
Добро пожаловать. Удачи! –
@alim известно, что DTs на практике отстают от времени работы, поэтому даже не утруждают себя ... Вместо этого используйте хорошую реализацию ретрансляции push –