Format

Choose Destination
PLoS One. 2015 Sep 14;10(9):e0136264. doi: 10.1371/journal.pone.0136264. eCollection 2015.

A Simple Algorithm for Finding All k-Edge-Connected Components.

Author information

1
Software School, Fudan University, Shanghai, China.
2
Research Center for High Performance Computing, Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences, Shenzhen, China; College of Mathematics and Information Science, Hebei University, Baoding, China.
3
Department of Computer Science, The University of Hong Kong, Hong Kong, China; Hang Seng Management College, Hong Kong, China.
4
Department of Computer Science, The University of Hong Kong, Hong Kong, China.
5
School of Computer Science, University of Windsor, Windsor, Canada.
6
School of Computing and Informatics, Institut Teknologi Brunei, Gadong, Brunei Darussalam.

Abstract

The problem of finding k-edge-connected components is a fundamental problem in computer science. Given a graph G = (V, E), the problem is to partition the vertex set V into {V1, V2,…, Vh}, where each Vi is maximized, such that for any two vertices x and y in Vi, there are k edge-disjoint paths connecting them. In this paper, we present an algorithm to solve this problem for all k. The algorithm preprocesses the input graph to construct an Auxiliary Graph to store information concerning edge-connectivity among every vertex pair in O(Fn) time, where F is the time complexity to find the maximum flow between two vertices in graph G and n = ∣V∣. For any value of k, the k-edge-connected components can then be determined by traversing the auxiliary graph in O(n) time. The input graph can be a directed or undirected, simple graph or multigraph. Previous works on this problem mainly focus on fixed value of k.

PMID:
26368134
PMCID:
PMC4569431
DOI:
10.1371/journal.pone.0136264
[Indexed for MEDLINE]
Free PMC Article