无向图求割边:以任一节点为起点,深搜,记录每个节点第一次访问的时间DFn,同时记录当前节点不经过其父节点能够访问DFn值最小的节点low。假设a是b的父亲,如果low[b]<=DFn[a],则说明a和b除在同一双连通分量,否则(a,b)是割边,a和b处在不同的双连通分量。
题目:给定一个网络,求最少增加多少条边,可以使这个网络成为一个稳定的网络(网络中任意一个节点坏掉,整个网络仍然保持连通)。
算法:找到割边,获得双连通分量。将同一双连通分量内的节点缩成一个节点,则整个网络变成了一棵树。通过推理可知,把这颗树的叶节点连接起来是最好的方案,需要(leaf%2?(leaf+1)/2:leaf/2)条边。

本文介绍了一种求解无向图中割边的方法,并利用该方法来确定最少需要添加多少条边使网络成为稳定网络。通过深搜算法找到双连通分量,将网络转化为树形结构,进而得出最优边添加策略。
1632

被折叠的 条评论
为什么被折叠?



