最大流最小割算法; BFS搜索增广路径; 算法简单,打印结果也比较清晰;

 

 

由于BFS能够找到最短路,所以也就保证对于任何情形的图G,均可以在较少的次数内尽快到达汇点T,用DFS不太好.

 

每次找到一条增广路径, 就给这条路径增流 , 增加的流量就可以计入到最大流内了, 因为不可能从汇点T有回流,所以只要增流的都可以计入最大流. (流网络必须满足有源点和汇点,否则算法应该跑的结果是没有意义的).

 

初始化时, cap[i][i]=0.     cap[i][j]=0 , if(E[i][j]不属于流网络) .

 

用邻接矩阵存储比较方便, 但是输入量很大.

 

可以先用静态数组的邻接表录入所有存在容量的边, 然后初始化cap[][]全部为0, 然后根据邻接表, 把有容量的边的容量填到cap[][]里.

 

这样录入量会小很多, 不必整张cap矩阵都录入, 其中大量的0容量输起来真的很繁琐.

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值