|
Abstract : |
Two vertices of an undirected graph are called k-edge-connected if there exist k edge-disjoint paths between them (equivalently: they cannot be disconnected by the removal of less than k edges from the graph). Equivalence classes of this relation are called classes of k-edge-connectivity, or k-edge-connected components. This paper describes graph structures relevant to classes of 4-edge-connectivity and traces their transformations as new edges are inserted into the graph. Data structures and an algorithm to maintain incrementally these classes are given. Starting with the empty graph, any sequence of q Same-4-Class? queries and n Insert-Vertex and m Insert-Edge updates can be performed in O(q + m + n log n) total time. Each individual query requires O(1) time in the worst-case. In addition, an algorithm for maintaining the classes of k-edge-connectivity (k arbitrary) in a (k \Gamma 1)-edge-connected graph is presented. Its complexity is O(q+m+n), with O(M + k 2 n log(n=k)) preprocessing, where M is the number of edges initially in the graph and n is the number of its vertices. Key words: dynamic algorithm, dynamic data structure, graph algorithm, edge-connectivity, connectivity class, component, analysis of algorithms., |