Изменения

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

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

148 байт добавлено, 01:53, 6 января 2012
Определение слоистой сети
== Определение слоистой сети ==
[[Файл:Слоистая_сеть.png|250px |thumb|cental| Слоистая сеть с пятью слоями с истоком в вершине 0 и стоком в вершине 6]]
#[[Дополняющая сеть, дополняющий путь]]
#[[Блокирующий поток]]
::Для начала определим для каждой вершины <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> путь во вспомогательной сети является кратчайшим путём в исходной, из свойств обхода в ширину.
[[Файл:Слоистая_сеть.png]]
<br/>В примере ребра, обозначенные пунктиром, не входят в слоистую сеть.
Анонимный участник

Навигация