码迷,mamicode.com
首页 > 编程语言 > 详细

网络流求最大流算法

时间:2017-07-23 18:09:27      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:思想   com   容量   红色   集中   ima   而且   ges   最优   

一、网络流的定义:有向图G=(V,E)中,点集中有一源点S,一汇点T。且S入度为0,T出度为0。对于每条边edge,都有一权值函数c,表示其容量,一权值函数f,表示其实际流量。

满足对于任意一条边都有f(edge)<=c(edge)。

二、最大流的定义:在不违背网络流的定义下,S到T的最大流量。

三、増广路的思想。

我们先考虑一个网络流:红色数字表示实际流量,蓝色表示边的容量,黄色表示更优的流量。

技术分享这个流从S到T的流量是5,但其显然不是最优的。

技术分享这个流比上面那个优,而且事实上,这个流就是当前网络的最大流。

我们将两个图比较,得出下图

技术分享我们发现因为这条路径上的每条边流量都加了一。注意到其中有一条A到B的反向边,所以我们寻找这种路径时,应把原图中所有边的剩余流量和已经流量的反向边加进去(退流),当图中不存在这种路径时,此图已成最大流。(顺便提一下,这种路径叫増广路径)。

四、求最大流的算法:

 

网络流求最大流算法

标签:思想   com   容量   红色   集中   ima   而且   ges   最优   

原文地址:http://www.cnblogs.com/dancer16/p/7225145.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!