码迷,mamicode.com
首页 > 其他好文 > 详细

[图论]求割边的时候应该用点做线索还是用边做线索?

时间:2016-05-28 01:06:54      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

在找割边的时候,假如用点做线索,比如a到b有两条无向边。

现在是有重边的情况,假如现在从a点到b点,根据线索,我们认为a是b的父亲了,那我们从b点再回去的边就一定是走不了了。这样的情况下,假如low(b)> dfn(a),那我们的算法会认为a和b之间存在一条割边。这显然是不正确的,我们应当有一个合理的方法来解决这个问题。

我们改用边来做线索,还是刚才的假设。从a到b,我们记下这条无向边,那么b就无法再从这条无向边回到a点了。但是b仍然可以从另外一条(也就是重边)回到a点,其实是把a这个“父亲”的特别属性给去掉,无论如何只要b有一条边能向后走,都认为是返祖边。b回到a的时候必然会更新当前的low(b),所以最终low(b)=dfn(a),也就可以判断出ab之间的边并不是割边了。

其实对比这两个算法的实现,我们可以知道:通过割边可以得到割点,但是通过割点未必知道割边。

[图论]求割边的时候应该用点做线索还是用边做线索?

标签:

原文地址:http://www.cnblogs.com/vincentX/p/5536474.html

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