Изменения

Перейти к: навигация, поиск

Схема алгоритма Диница

9 байт добавлено, 23:03, 26 ноября 2013
Определение слоистой сети
Для начала определим для каждой вершины <tex>v</tex> данной сети <tex>G</tex> длину кратчайшего <tex>s \leadsto v</tex> пути из истока и обозначим ее <tex>d[v]</tex> (для этого можно воспользоваться [[Обход в ширину|обходом в ширину]]).<br/> В слоистую сеть включаем только те ребра <tex>(u,v)</tex> исходной сети, для которых <tex>d[u] + 1 = d[v]</tex>.
Полученная сеть ациклична, и любой <tex>s \leadsto t</tex> путь в слоистой сети является кратчайшим путём в исходной, из свойств обхода в ширину.
Слоистую сеть для графа G будем называть '''вспомогательной сетью'''.
[[Файл:Слоистая_сеть.png|500px |thumb|center| Слоистая сеть с пятью слоями. s = 0, t = 6]]
<br/>В примере ребра, обозначенные пунктиром, не входят в слоистую сеть.
<br/><br/>Слоистую сеть для графа G будем называть '''вспомогательной сетью'''.
== Алгоритм ==
Анонимный участник

Навигация