tarjan
文章平均质量分 62
loveicecola
AFO
展开
-
tarjan
tarjan算法整体分为五个部分。 一、无向图的割边。 割边的定义:若对于e∈E,从图中删去e之后,G分裂成两个不连接的子图,则称e为G的割边或桥。 桥的最简单暴力的求法就是,依次枚举每一条边,把它删去之后,dfs遍历看能否访问所有的点,若所有的点被访问,那么e就不是割边,反之,e就是图G的割边。但是这种算法复杂度太大,tarjan就是基于dfn序和追溯值来有效快速的解决这种问题...原创 2018-06-13 15:21:03 · 185 阅读 · 0 评论 -
tarjan
tarjan在递归求low的时候,有一个争议。就是x的子节点y,如果y的dfn值已经知道,那么说明x与y之间的边不在搜索树上,更新low【x】的时候我们用的是dfn【y】而不是low【y】。但是你在写割边的时候并不受影响,两个都可以。而割点就必须是dfn【y】。为什么呢,我之前一直想不到反例,今天就举一个反例吧。 首先,我们需要明确,如果此时y已经有了dfn值,那么这个y一定是搜...原创 2018-06-14 10:59:45 · 212 阅读 · 1 评论