无向图—桥
实验概述
1. 桥的定义
在图论中,一条边被称为“桥”代表这条边一旦被删除,这张图的连通块数量会增加。等价地说,一条边是一座桥当且仅当这条边不在任何环上。一张图可以有零或多座桥。
2. 求解问题
找出一个无向图中所有的桥。
3. 算法
基准算法
For every edge (u, v), do following
a) Remove (u, v) from graph
b) See if the graph remains connected (We can either use BFS or DFS)
c) Add (u, v) back to the graph.
应用并查集设计一个比基准算法更高效的算法。不要使用Tarjan算法,如果使用Tarjan算法,仍然需要利用并查集设计一个比基准算法更高效的算法。
实验思路
并查集-LCA找环
首先先来回顾一下并查集(一般在讲kruskal的时候会讲):三个操作Make-set、Find-set和Union。
Union操作发现环边
Union时,如果两个点已经在同一个