文摘
Let \(G=(V,E)\) be a directed graph. A vertex \(v\in V\) (respectively an edge \(e\in E\)) is a strong articulation point (respectively a strong bridge) if its removal increases the number of strongly connected components of \(G\). We implement and engineer fast algorithms for computing all the strong articulation points and all the strong bridges of a directed graph, based on the linear-time algorithms presented in Italiano et al. (Theor Comput Sci 447:74–84, 2012). Our implementations are tested against real-world graphs taken from several application domains, including social networks, communication graphs, web graphs, peer2peer networks and product co-purchase graphs. The algorithms implemented turn out to be very efficient in practice, and are able to run on large scale graphs, i.e., on graphs with ten million vertices and half billion edges. Our experiments on such graphs highlight some properties of strong articulation points, which might be of independent interest.