Изменения

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

Метод проталкивания предпотока

36 байт убрано, 00:09, 18 апреля 2018
Схема алгоритма
'''function''' pushRelabelMaxFlow(s, t)
initializePreflow(s);
'''while''' <tex> \exists </tex> push(u, v) '''or''' <tex>\exists </tex> relabel(u)
'''if''' e(u)<tex> > 0</tex> '''and''' h(u) = h(v) + <tex>1</tex>
push(u, v)
'''if''' e(u)<tex> > 0</tex> '''and''' <tex> \forall </tex> (u, v) <tex>\in </tex> E_f<tex>\quad</tex> h(u)<tex> \leqslant</tex> h(v)
relabel(u)
[[Файл:OrGraphPush0.png|545px|left|Пример сети.]] [[Файл:OrGraphPush1.png|545px|right|Сеть после запуска потока, остаточная сеть, применение операции <tex>\mathrm{relabel}</tex>.]][[Файл:OrGraphPush2.png|545px|left|Применение операции <tex>\mathrm{push}</tex>.]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
== Корректность алгоритма ==
693
правки

Навигация