2016-03-24 4 views
2

Я хочу применить алгоритм Dinic с динамическим деревом. Но я нахожу очень мало источников. особенно о динамическом дереве. Было бы здорово, если бы был хороший источник с подробными объяснениями или несколькими простыми исходными кодами, в которых используется динамическое дерево.Динамическая структура данных дерева для улучшенного алгоритма Dinic

Любое встречается с чем-то подобным? Заранее спасибо

ответ

2

Основная идея улучшения - избежать преждевременной пессимизации в алгоритме Динича. В отличие от алгоритмов предварительного потока/толчка алгоритм Dinic ищет пути в графе остаточного потока. Как только такой поток адресован, вместо того, чтобы начинать новый поиск, модифицированный алгоритм имеет дело с путями, найденными в предыдущем поиске.

here очень понятное введение для этого, включая реализацию самой структуры данных. here - более подробная лекция. Наконец, A Data Structure for Dynamic Trees (by Sleator and Tarjan) - это оригинальная работа, посвященная реализации самой структуры данных.

+0

На самом деле, я прочитал первые два источника быстро и не очень понял. Но я понимаю алгоритм Диника. Может быть, моя проблема - динамическое дерево, которое я вообще не знаю. Похоже, что это лучшие доступные ресурсы, позвольте мне медленно перебирать их. Благодаря! :) – arslan

+0

@alim Затем проверьте третий. Я думаю, это тот, который ты хочешь. –

+0

Хорошо указывать ссылки на дескриптивные заголовки (третий - это структура данных для динамических деревьев, DANIEL D. SLEATOR AND ROBERT ENDRE TARJAN), так что, когда ссылки неизбежно гниют, Google может помочь снова найти эти вещи. Тем временем я добавил эти ссылки на машину обратного пути. (http://web.archive.org/web/*/http://www.arl.wustl.edu/~jst/cse/542/text/sec19.pdf, например) – jbapple

 Смежные вопросы

  • Нет связанных вопросов^_^