网络流中-反向边的作用

今天看了一下午网络流,其中有一点很困惑我,网络流中的反射弧到底是什么?为什么存在?看了几篇博客,有一点自己的理解,但也有些困惑,先记录下来。

首先,看下面这个例子,广搜最先找到增广路经:1 2 4 6 ,结果为10,如果没有反向边:那么最终结果就是10,而答案明显不是,这显然是算法上的缺陷。我的理解是:一条增广路线的源点和汇点都已经固定,即总体方向是不可变得,所以增广路线中至少有一条边是正方向(定义流向是正方向的),当然最后流向汇点,肯定也是正方向。观察图会发现,一些路径是关键路径,这些路径连接多条分支,而一旦关键路径被占用,导致其他路径会被破坏,这也是算法的缺陷的原因所在,使用DFS深搜,不会出现这种结果,但是时间一定不允许。为解决这个缺陷,就想到使用一个反向边来修改算法的缺陷。比如: 在2节点10权重,在4节点同样的10权重,已经从2到4有增广路线,如果又存在4到2的增广路线,即表示2到4,4到2这个路径是多余的。它们可以交换路径(这个情况是相等,可以交换,不等的时候是分流,思想是一样)。

参考博客 ,还有图片。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值