9,390 research outputs found

    Strong Connectivity in Directed Graphs under Failures, with Application

    Full text link
    In this paper, we investigate some basic connectivity problems in directed graphs (digraphs). Let GG be a digraph with mm edges and nn vertices, and let GeG\setminus e be the digraph obtained after deleting edge ee from GG. As a first result, we show how to compute in O(m+n)O(m+n) worst-case time: (i)(i) The total number of strongly connected components in GeG\setminus e, for all edges ee in GG. (ii)(ii) The size of the largest and of the smallest strongly connected components in GeG\setminus e, for all edges ee in GG. Let GG be strongly connected. We say that edge ee separates two vertices xx and yy, if xx and yy are no longer strongly connected in GeG\setminus e. As a second set of results, we show how to build in O(m+n)O(m+n) time O(n)O(n)-space data structures that can answer in optimal time the following basic connectivity queries on digraphs: (i)(i) Report in O(n)O(n) worst-case time all the strongly connected components of GeG\setminus e, for a query edge ee. (ii)(ii) Test whether an edge separates two query vertices in O(1)O(1) worst-case time. (iii)(iii) Report all edges that separate two query vertices in optimal worst-case time, i.e., in time O(k)O(k), where kk is the number of separating edges. (For k=0k=0, the time is O(1)O(1)). All of the above results extend to vertex failures. All our bounds are tight and are obtained with a common algorithmic framework, based on a novel compact representation of the decompositions induced by the 11-connectivity (i.e., 11-edge and 11-vertex) cuts in digraphs, which might be of independent interest. With the help of our data structures we can design efficient algorithms for several other connectivity problems on digraphs and we can also obtain in linear time a strongly connected spanning subgraph of GG with O(n)O(n) edges that maintains the 11-connectivity cuts of GG and the decompositions induced by those cuts.Comment: An extended abstract of this work appeared in the SODA 201

    2-Vertex Connectivity in Directed Graphs

    Full text link
    We complement our study of 2-connectivity in directed graphs, by considering the computation of the following 2-vertex-connectivity relations: We say that two vertices v and w are 2-vertex-connected if there are two internally vertex-disjoint paths from v to w and two internally vertex-disjoint paths from w to v. We also say that v and w are vertex-resilient if the removal of any vertex different from v and w leaves v and w in the same strongly connected component. We show how to compute the above relations in linear time so that we can report in constant time if two vertices are 2-vertex-connected or if they are vertex-resilient. We also show how to compute in linear time a sparse certificate for these relations, i.e., a subgraph of the input graph that has O(n) edges and maintains the same 2-vertex-connectivity and vertex-resilience relations as the input graph, where n is the number of vertices.Comment: arXiv admin note: substantial text overlap with arXiv:1407.304

    Faster Algorithms for Computing Maximal 2-Connected Subgraphs in Sparse Directed Graphs

    Full text link
    Connectivity related concepts are of fundamental interest in graph theory. The area has received extensive attention over four decades, but many problems remain unsolved, especially for directed graphs. A directed graph is 2-edge-connected (resp., 2-vertex-connected) if the removal of any edge (resp., vertex) leaves the graph strongly connected. In this paper we present improved algorithms for computing the maximal 2-edge- and 2-vertex-connected subgraphs of a given directed graph. These problems were first studied more than 35 years ago, with O~(mn)\widetilde{O}(mn) time algorithms for graphs with m edges and n vertices being known since the late 1980s. In contrast, the same problems for undirected graphs are known to be solvable in linear time. Henzinger et al. [ICALP 2015] recently introduced O(n2)O(n^2) time algorithms for the directed case, thus improving the running times for dense graphs. Our new algorithms run in time O(m3/2)O(m^{3/2}), which further improves the running times for sparse graphs. The notion of 2-connectivity naturally generalizes to k-connectivity for k>2k>2. For constant values of k, we extend one of our algorithms to compute the maximal k-edge-connected in time O(m3/2logn)O(m^{3/2} \log{n}), improving again for sparse graphs the best known algorithm by Henzinger et al. [ICALP 2015] that runs in O(n2logn)O(n^2 \log n) time.Comment: Revised version of SODA 2017 paper including details for k-edge-connected subgraph

    Finding 2-Edge and 2-Vertex Strongly Connected Components in Quadratic Time

    Full text link
    We present faster algorithms for computing the 2-edge and 2-vertex strongly connected components of a directed graph, which are straightforward generalizations of strongly connected components. While in undirected graphs the 2-edge and 2-vertex connected components can be found in linear time, in directed graphs only rather simple O(mn)O(m n)-time algorithms were known. We use a hierarchical sparsification technique to obtain algorithms that run in time O(n2)O(n^2). For 2-edge strongly connected components our algorithm gives the first running time improvement in 20 years. Additionally we present an O(m2/logn)O(m^2 / \log{n})-time algorithm for 2-edge strongly connected components, and thus improve over the O(mn)O(m n) running time also when m=O(n)m = O(n). Our approach extends to k-edge and k-vertex strongly connected components for any constant k with a running time of O(n2log2n)O(n^2 \log^2 n) for edges and O(n3)O(n^3) for vertices

    Minimum 22-edge strongly biconnected spanning directed subgraph problem

    Full text link
    Wu and Grumbach introduced the concept of strongly biconnected directed graphs. A directed graph G=(V,E)G=(V,E) is called strongly biconnected if the directed graph GG is strongly connected and the underlying undirected graph of GG is biconnected. A strongly biconnected directed graph G=(V,E)G=(V,E) is said to be 22- edge strongly biconnected if it has at least three vertices and the directed subgraph (V,E{e})(V,E\setminus\left\lbrace e\right\rbrace ) is strongly biconnected for all eEe \in E. Let G=(V,E)G=(V,E) be a 22-edge-strongly biconnected directed graph. In this paper we study the problem of computing a minimum size subset HEH \subseteq E such that the directed subgraph (V,H)(V,H) is 22- edge strongly biconnected
    corecore