Computing the -Edge-Connected Components in -Edge-Connected Digraphs in Subquadratic Time
Abstract
Computing edge-connected components in directed and undirected graphs is a fundamental and well-studied problem in graph algorithms. In a very recent breakthrough, Korhonen [STOC 2025] showed that for any fixed , the -edge connected components of an undirected graph can be computed in linear time. In contrast, the directed case remains significantly more challenging: linear-time algorithms are only known for , and for any fixed , the best known bound for sparse or moderately dense graphs is still the -time algorithm of Nagamochi and Watanabe (1993).
In this paper, we break the barrier for all . We present a randomized algorithm that computes the -edge-connected components of a -edge-connected directed graph in time, for any . This constitutes the first improvement over the classic Nagamochi–Watanabe bound for any constant . Our approach introduces new structural insights into directed edge-cuts and combines these with both new and existing techniques. A central contribution of our work is a substantial simplification and generalization of the framework introduced in [21], which achieved an bound for computing the -edge-connected components of a digraph. In addition, we develop a variant of our algorithm that achieves the same running time for computing the -edge-connected components of a general directed graph.
Keywords and phrases:
Graph connectivity, edge-connected components, directed edge-cutsCategory:
Track A: Algorithms, Complexity and GamesCopyright and License:
and Nikos Parotsidis; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Mathematics of computing Graph algorithms ; Theory of computation Network flowsAcknowledgements:
We thank an anonymous reviewer for suggesting the use of the Picard-Queyranne graph in the proof of Proposition 9.Funding:
This work has been partially supported by project MIS 5154714 of the National Recovery and Resilience Plan Greece 2.0 funded by the European Union under the NextGenerationEU Program.Editors:
Sayan Bhattacharya, Danupon Nanongkai, Michael Benedikt, and Gabriele PuppisSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Computing edge-connected components in directed and undirected graphs is a fundamental problem in graph algorithms, motivated by several applications (see, e.g., [35]), and has been extensively studied. Before discussing related work and our contributions, we begin with the necessary definitions.
Let be a strongly connected directed graph (digraph) with vertices and edges. A set of edges is called a cut if the graph is not strongly connected. If , we refer to as a -cut of . For any pair of vertices , we say that a cut separates from if there is no – path in ; in this case, we call a -cut. We denote by the size of a minimum -cut. A digraph is said to be -edge-connected if it has no cuts of size at most , that is, if for all pairs of vertices .
We say that two vertices and are -edge-connected, denoted by , if there exist edge-disjoint directed paths from to and edge-disjoint directed paths from to . (Note that a path from to and a path from to need not be edge-disjoint.) By Menger’s theorem [32], if and only if the removal of any set of at most edges leaves and in the same strongly connected component. A -edge-connected component of a digraph is a maximal subset such that for all . The -edge-connected components of form a partition of , since the relation is an equivalence relation [18]. The same definition applies analogously to undirected graphs.
For undirected graphs, the problem of computing the -edge-connected components is very well understood. Until recently, linear-time algorithms were known only for [13, 15, 16, 25, 30, 33, 34, 40, 41]. In a significant recent breakthrough, Korhonen [29] introduced an algorithm with running time for computing the -edge-connected components of an undirected graph, which is linear in the number of edges for any fixed .
The directed case remains more challenging. Until recently, linear-time algorithms were known only for [40, 19]. Georgiadis et al. [21] presented a randomized (Monte-Carlo) algorithm that computes the -edge-connected components of a digraph with edges in time.111The notation hides polylogarithmic factors. Their algorithm applies an involved extension of the framework of [12, 37] for deciding whether a digraph is -edge-connected. It is based on a local search procedure [8, 12], initiated from sampled vertices, which identifies -out sets or -in sets, that is, vertex sets that have outgoing edges to or entering edges from . After finding such a set , [21] applies an efficient graph operation for replacing with a gadget of small size that preserves the pairwise connectivity among the vertices of . Georgiadis, Italiano, and Kosinas [17] later presented a deterministic linear-time algorithm for computing the -edge-connected components of a digraph. This result is based on an adaptation of the minset-poset technique of Gabow [14] for identifying minimal -in sets in -edge-connected digraphs, combined with a characterization of -in sets using the concept of strongly divergent spanning trees [22].
For any fixed , the best known bound for computing the -edge-connected components of a sparse or moderately dense digraph remains , as given by the algorithm of Nagamochi and Watanabe [36]. Unfortunately, both approaches proposed in [21] and [17] appear difficult to extend to the case . Specifically, [21] applies a graph transformation that replaces a -in set or a -out set with a small gadget that preserves the pairwise connectivity of the vertices in . The fast construction of this gadget relies crucially on the simple structure of -cuts. In contrast, [17] computes minimal -in set sets by exploiting properties of two strongly divergent spanning trees rooted at a designated vertex . Extending this technique to would require, at minimum, an efficient method for computing spanning trees with similar properties. However, Huck [27] showed that such spanning trees do not always exist: there are -vertex-connected digraphs which, for a fixed start vertex , do not have such collection of spanning trees.
Our results.
In this paper, we present the first improvement over the classical bound of Nagamochi and Watanabe [36] for any constant in -edge-connected directed graphs. Specifically, we develop a novel randomized algorithm that computes the -edge-connected components of a -edge-connected digraph in time, for any . Hence, we break the barrier for . Our first main result is summarized in the following theorem.
Theorem 1.
Let be a -edge-connected digraph, and let be a parameter with . There exists a randomized algorithm that runs in time and outputs a partition of satisfying the following guarantees:
-
Every two -edge-connected vertices of belong to the same set of .
-
With probability at least , every two vertices of that are not -edge-connected are separated by .
Hence, we achieve a significant improvement over the bound of Nagamochi and Watanabe for all graph densities. Our approach introduces new structural insights into directed edge-cuts and combines these with both new and existing techniques. A key contribution of our work is a substantial simplification and generalization of the framework proposed in [21], which achieved an bound for computing the -edge-connected components of a digraph. We also give an extension of our algorithm that computes the -edge-connected components of a given -edge-connected component of in time.
Furthermore, we develop a variant of our algorithm that achieves running time for computing the -edge-connected components of a general directed graph.
Theorem 2.
Let be a digraph, and let be a parameter with . There exists a randomized algorithm that runs in time and outputs a partition of satisfying the following guarantees:
-
Every two -edge-connected vertices of belong to the same set of .
-
With probability at least , every two vertices of that are not -edge-connected are separated by .
Note that Theorem 2 is not subsumed by Theorem 1, as we do not require the input digraph to be -edge-connected. We also remark that all our results apply to multigraphs, that is, the input graph may contain parallel directed edges.
Our algorithm loosely follows the framework of Georgiadis et al. [21] in that it repeatedly performs local searches from sampled vertices. However, it replaces certain bottleneck computations of [21] by exploiting new structural insights into directed edge-cuts and combines both new and existing techniques, as detailed below.
Related work.
Connectivity-related problems are known to be much more difficult in directed graphs than in undirected graphs (see, e.g., [14, 24, 28]). Cuts in undirected graphs can be represented compactly by the Gomory-Hu tree (or cut tree), which can be used to identify the -edge-connected components of undirected graphs, for any . Furthermore, many efficient algorithms for computing Gomory-Hu trees are available (see e.g., [1, 2, 3, 9, 23, 31]). An -time algorithm for computing the restricted version of the Gomory-Hu tree, that captures edge-cuts of size at most , was presented by Hariharan, Kavitha, and Panigrahi [23]. In a breakthrough result, Korhonen [29] showed how to compute the -edge-connected components of an undirected graph in time.
On the contrary, in directed graphs, edge cuts have a more complicated structure, and it was proved by Benczúr [7] that in this case, cut trees do not even exist. Linear-time algorithms for finding the -edge-connected components are given in [18, 19], and for finding the -edge-connected components in [17]. Schnorr [39] showed how to compute the minimum of and , for all pairs of vertices and of a weighted digraph, using max-flow computations. By computing -bounded max-flow (i.e., the value ) using iterations of Ford-Fulkerson, this approach gives an -time algorithm for computing the -edge-connected components of a digraph. If we use the max-flow algorithm of Chen et al. [9], we obtain an -time algorithm, for any . Nagamochi and Watanabe [36] presented an algorithm that computes the -edge-connected components of a digraph in time. This remains the best bound for fixed and for sparse or moderately dense graphs. Cheung, Lau, and Leung [10] presented an algorithm that computes the edge connectivity between all pairs of vertices (i.e., for all vertex pairs ) in time, where is the matrix multiplication exponent [6]. Subsequently, Akmal and Jin [5] developed an -time algorithm for computing the -bounded edge connectivities between all vertex pairs, that is, the values for all (see also [4]). Note that knowing all -bounded edge connectivities is sufficient to determine the -edge-connected components of the graph for every .
Very recently, Hoppenworth, Saranurak, and Wang [26] established near-optimal bounds for a -connectivity preserver of a directed graph , that is, a subgraph of such that, for all , the -edge-connected components of and coincide. They showed that any digraph with vertices admits a -connectivity preserver with edges. Hence, a fast algorithm for constructing such a preserver would directly improve the running time bounds for computing -edge-connected components. Still, the fast construction of these preservers remains an important open problem.
1.1 Overview of our techniques
A -out set is a set of vertices of such that there are edges from to . Following [21], we base our algorithm on the notion of minimal -out sets. Let be the input digraph, and let be a set of -edge-connected vertices. We denote by the size of the minimum -cut in . Let be a fixed vertex of . Then, for any , we have . If there is a -out set with and , then we let denote the (inclusion-wise) minimum such -out set. Otherwise, we let . Then, for any vertex that is not -edge-connected with , the -edge-connected component containing is a subset of . We use “” to denote the same concept as “” in the reverse graph . We show that these -sets are sufficient to determine the -edge-connectivity relation for the vertices in . Moreover, if the -set of a vertex exists, we show how to compute it in time proportional to its volume using a variant of the local search procedure of [8].
We emphasize that the condition for every is essential in order to correctly partition into its -edge-connected components. When refining a -edge-connected component into its constituent -edge-connected components, we must carefully select a reference vertex . We address this issue by introducing the following decomposition.
-edge-connected-component decomposition.
We begin by computing a decomposition of the input digraph , into a collection of directed graphs that preserve the -edge-connected components of . Each graph contains two types of vertices, ordinary and auxiliary, where the ordinary vertices in form a -edge-connected component of . Moreover, any two vertices and of are -edge-connected if and only if and are -edge-connected ordinary vertices of a graph .
Here, we present a randomized -time algorithm that computes the -edge-connected-component (-ECC) decomposition of a -edge-connected digraph, for any value of . In addition, we provide a deterministic near-linear-time algorithm that computes the -edge-connected-component (-ECC) decomposition of a general digraph. In both decompositions, the total size of the resulting graphs is . To achieve this, we exploit the computation of the nodes corresponding to a poset representation of the minimal -out sets [14, 17] combined with a contraction operation for the -ECC decomposition and the gadget substitution operation of [21] for the -ECC decomposition. Now, our goal is to partition the ordinary vertices in each graph into -edge-connected components.
Local search.
A -out set is a set of vertices of such that there are at most edges from to . The volume of a vertex set , denoted by , is the number of edges whose tail is in . Chechik et al. [8] considered the problem of computing a -out set with the following restrictions: Given a graph , a vertex , and two integers and such that , the goal is to identify a -out set such that , all vertices in are reachable from in , and , or to conclude that no such set exists. [8] described a deterministic algorithm, , with running time, for the following relaxation of the problem: (i) if there exists a -out set such that , all vertices in are reachable from in , and , then returns a -out set such that , all vertices in are reachable from in , and , and (ii) otherwise it concludes that no such set exists. Note that if a set satisfying the constraints exists, then in this relaxed version, procedure returns a set which satisfies all constraints except the bound on the volume of , which can be larger by a factor of . Later on, Forster et al. [12] presented a randomized algorithm for the relaxed version of the problem with running time.
Notice that the algorithms of [8, 12] are useful for , as otherwise the whole vertex set may be returned. Here, we introduce a slight variant of the local search procedure of [8], that we refer to as ,which guarantees that the returned set does not contain . We make use of the following two simple observations: (i) the additional condition, , implies that we can use the local search procedure without any restriction on the volume , i.e., it is not necessary to have , and (ii) if and , then is guaranteed to return .
Sampling for large -sets.
We say that an -set is “small” if its volume is at most , and “large” otherwise. Using our modified local search from each vertex , we can afford to compute all small -sets. In order to account for the partition of the ordinary vertices due to large -sets, we sample the edges uniformly at random. Specifically, by sampling edges, we can guarantee that for every -set with volume more than , we have sampled at least one edge whose tail is in with high probability.
Good partitions.
Since we cannot afford to compute all large -sets explicitly, we must instead find a way to exploit the set associated with each sampled vertex , i.e., the tail of a sampled edge . To this end, we define a partition of to be good for if:
-
maintains the -edge-connected components, and
-
for every ordinary vertex such that , the partition separates any ordinary vertex from .
We show that it suffices to compute a partition that is good for each sampled vertex . To construct such partitions efficiently, we distinguish two cases depending on whether or . In the former case, we exploit the directed acyclic graph (DAG) representation of all minimum cuts introduced by Picard and Queyranne [38]; in the latter, we leverage structural properties of latest minimum cuts. (A latest minimum -cut is defined as the inclusion-wise maximum -out set such that and .)
1.2 Comparison to previous work
The linear-time algorithm of Georgiadis, Italiano, and Kosinas [17] relies on the concept of strongly divergent spanning trees [22], which is defined only for pairs of trees. Extending this approach to compute -edge-connected components for would require spanning trees with analogous edge- and vertex-disjointness properties. However, the result of Huck [27] implies that it may not be possible to find more than two spanning trees with these properties.
At a high level, our algorithm follows a framework similar to that of [21], but with several fundamental differences, which we highlight below.
Improved running time.
The framework in [21] required time ; the factor appears by balancing the need to hit each component of interest (via random sampling) multiple times, and the time spent on the subsequent backward searches (that depended on the number of times each component was hit). In our framework, we overcome the need for backward searches and achieve a significant improvement in the running time, namely for any constant .
Lack of gadgets.
The algorithm of Georgiadis et al. [21] repeatedly detects -out sets and -in sets, which are then replaced by connectivity-preserving gadgets of sufficiently small size. These gadgets possess the crucial property of reducing the (out- or in-)volume of the replaced component by a constant factor. This property enables [21] to perform local searches, each with a worst-case running time of , without incurring a total cost of . Whenever a sequence of local searches becomes expensive, the corresponding gadget replacement significantly reduces the size of the graph, thereby ensuring a smaller amortized cost. For , however, no analogous gadget construction is known that would provide similar guarantees, making it unclear how to afford the time required for local searches.
No recursions.
The algorithm of [21] refines the current partition of the ordinary vertices after detecting an -out set or an -in set , by simply separating the vertices inside from those outside . However, vertices inside that are not -edge-connected can only be further separated through a recursive call that replaces with a gadget. A key technical difficulty of this approach is that the same edge may participate in multiple recursive calls, making the analysis tedious and heavily dependent on properties specific to the case , which do not extend to . In contrast, our new framework leverages the structural properties of minimal -out sets, eliminating the need for recursion entirely.
No triggered or backward searches.
Another major complication in [21] arises from handling intersecting -out sets. Consider a local search initiated from a sampled vertex that identifies a large -out set . There may exist several -out sets that intersect , such that the ordinary vertices in different sets are not -edge-connected. To separate these vertices, it is necessary to identify all such sets ; however, this cannot be achieved through sampling alone, since may be very small. To address this issue, [21] employ a sequence of triggered and backward searches, that is, local searches initiated from specific vertices of previously identified -out set sets. Through a complex analysis, they show that it suffices to search for sets of volume , resulting in an overall running time of . In contrast, our framework completely avoids this complication by exploiting the structural properties of minimal -out sets.
Simplicity.
Perhaps the two most technically involved contributions of [21] for the case were the gadget-substitution procedure and the backward searches. Our framework eliminates the need for both, giving an overall significantly simpler algorithm.
Extension for general .
Although achieving an -time algorithm for computing the -edge-connected components of a general digraph, for any fixed constant , remains out of reach, we believe that our techniques provide a promising step toward this goal. The main obstacles to attaining such a bound within our framework are the lack of (i) a fast decomposition of a general digraph into -edge-connected components, and (ii) an efficient algorithm for computing a good partition for a vertex with .
2 Technical Overview
In this section, we provide a high-level description of our algorithm and present the proof of our main result. Let be a strongly connected graph with vertices and edges. In everything that follows, we assume that we work on the graph , and all graph elements (e.g., vertices, edges, cuts, etc.) refer to .
Let be a set of vertices. Every edge of the form with and is called an outgoing edge of . The number of all outgoing edges of is denoted as . If , then is called a -out set. The tail of every outgoing edge of is called a boundary point of , and the head of every outgoing edge of is called an exit point of . We let denote the volume of : i.e., the number of edges whose tail is in . When we say that an edge lies in a vertex set , we mean that both endpoints of are in . Otherwise, we say that does not lie in .
Let and be two disjoint sets of vertices. Then, every set of vertices with and is called an -cut. (Notice that the order of and here is important.) We may also say that separates and (where, again, the order of and in this expression is important). If or consists of a single vertex, we may substitute it with the vertex that it consists of, and so we may speak of -cuts, or -cuts, or -cuts, where and are vertices. We denote by the size of the minimum -cut in .
Let be a partition of . If two vertices and belong to different sets from , then we say that separates and . We say that maintains the -edge-connected components if every two -edge-connected vertices of are in the same set of .
2.1 -edge-connected component decomposition
Our main approach is to exploit the notion of minimal -out sets, defined with respect to a fixed source vertex . To make this scheme work, we must ensure that every other ordinary vertex is -edge-connected to . We achieve this via the following decomposition.
Theorem 3 (-Edge-Connected Component (-ECC) Decomposition).
Let be a -edge-connected digraph with vertices and edges. In time we can construct a collection of graphs such that:
-
All graphs are -edge-connected.
-
The graphs have vertices and edges in total.
-
The vertices of each graph are partitioned into two sets of vertices, ordinary and auxiliary.
-
For each , the ordinary vertices of are -edge-connected.
-
For every vertex of , there is exactly one graph among that contains it as an ordinary vertex.
-
Every two vertices and of are -edge-connected if and only if there is an such that and are -edge-connected ordinary vertices of .
The algorithm is randomized and returns a correct decomposition with probability at least , where is a parameter specified by the user. If the algorithm fails to compute the correct decomposition, it detects this event and reports an error.
We note that for any constant , we can avoid the use of randomization in the algorithm of Theorem 3, at the cost of an exponential dependency on . Hence, we obtain a deterministic near-linear-time algorithm that computes a -edge-connected-component (-ECC) decomposition of a -edge-connected digraph, for any constant . Our algorithm exploits the computation of the nodes corresponding to a poset representation of the minimal -out sets [14] combined with a contraction operation.
For , we give a deterministic near-linear-time algorithm that computes a -edge-connected-component decomposition of a general digraph.
Theorem 4 (3-Edge-Connected Component (-ECC) Decomposition).
Let be a digraph with vertices and edges. In time, we can construct a collection of graphs such that:
-
All graphs are strongly connected.
-
The graphs have edges in total.
-
The vertices of each graph are partitioned into two sets of vertices, ordinary and auxiliary.
-
For each , the ordinary vertices of are -edge-connected.
-
For every vertex of , there is exactly one graph among that contains it as an ordinary vertex.
-
Every two vertices and of are -edge-connected if and only if there is an such that and are -edge-connected ordinary vertices of .
2.2 Computing the -edge-connected components through the minimum -out sets
Theorem 3 implies that the computation of the -edge-connected components of reduces to that of the -edge-connected components of the graphs . Thus, from now on we may assume that the input graph is -edge-connected and satisfies the property that its vertex set can be partitioned into two kinds of vertices: ordinary and auxiliary. The ordinary vertices of are -edge-connected, and the goal is to compute a partition of such that two ordinary vertices are -edge-connected if and only if they belong to the same set in .
We achieve our goal through a randomized algorithm which may have a one-sided error: with probability at most (for any fixed specified by the user), it may be that two ordinary vertices of that are not -edge-connected belong to the same set in . However, if two ordinary vertices are -edge-connected, then it is certain that they appear in the same set in . The precise formulation of our main result is given in the following (where we assume that is a fixed constant):
Theorem 5.
Let be a number with . There is an algorithm (see Algorithm 1) that runs in time, where is the number of the ordinary vertices of , and outputs a partition of with the following guarantees:
-
Every two -edge-connected ordinary vertices of are in the same set from .
-
With probability at least , every two ordinary vertices of that are not -edge-connected are separated by .
In order to establish Theorem 5, we utilize the concept of the minimum -out sets. Specifically, we first fix an arbitrary ordinary vertex of . Then, for every ordinary vertex such that there is a -out set that separates and , we let denote the (inclusion-wise) minimum -out set that contains but not . (The uniqueness of is guaranteed by Corollary 13.) If for an ordinary vertex no such -out set exists, then we let . (In particular, we have .) We use “” to denote the same concept as “” in the reverse graph (where we have fixed the same ordinary vertex in ).
It should be clear that, if two ordinary vertices and are -edge-connected, then we have and . On the other hand, if and are not -edge-connected, then Lemma 14 implies that either or .
Thus, our approach is the following. First, we want to compute a partition of with the property that two ordinary vertices have the same -set if and only if they belong to the same set in . Then, we want to compute a partition of with the property that two ordinary vertices have the same -set if and only if they belong to the same set in . Then, the output is the common refinement of and . The computation of and is performed independently on and , using the same procedure. Thus, it is sufficient to describe the idea for computing .
Now we distinguish two types of -sets w.r.t. their volume. We call a vertex set “small” if it has volume at most . Otherwise, we call it “large”. The small -sets can be computed explicitly using the following local-search-based procedure (which follows from an adaptation of techniques from [8]):
Proposition 6.
Let be a vertex with and , and let be an integer. There is an algorithm which runs in time and returns a set of vertices (which may be ) with the following guarantees:
-
If , then .
-
If , then either or .
Assuming that is a fixed constant for our problem, we can use Proposition 6, in order to find all small -sets in time . Thus, we get a first partition of with the property that two ordinary vertices have the same small -set if and only if they belong to the same set of that partition.
Notice that the dependency of the running time on is exponential, but this can be improved to a polynomial dependence by using a randomized algorithm to perform the local searches (although this will incur a polylogarithmic overhead on the running time, in order to guarantee a sufficiently high probability of success).
Proposition 7.
Given that , there is a procedure (shown in Algorithm 5 in [20]) that has a running time of and returns a (possibly empty) set of vertices with the following guarantees:
-
If , then .
-
If and , then, with probability at least , .
For a randomized version of the local search, see Section 6.2 in [20]. We note that the local search procedure of choice can be plugged in as a black-box in Line 3 of Algorithm 1.
The case of the large -sets is highly involved, because we cannot afford to compute all of them explicitly. We discuss how to handle those sets in the following section.
2.3 Sampling for large -sets and computing good partitions
In order to account for the partition of the ordinary vertices due to the large -sets, we rely on structural properties of the -edge cuts of the graph. Our first step is to sample enough edges of the graph (uniformly at random, with repetitions allowed), so that, with sufficiently high probability, for every large -set , we have sampled at least one edge whose tail is in . For this purpose, it is sufficient to sample edges, due to the large volume of the large -sets (see proof of Theorem 5).
Now, for every tail of every sampled edge, we distinguish two possibilities: either , or . (In the case we do nothing, because this implies that is not included in a -out set that separates and .)
In each of those cases, our goal is to provide a partition of with the property that it maintains the -edge-connected components, and for every ordinary vertex with and , and every ordinary vertex , we have that and are separated by . More formally, we have:
Definition 8 (Good Partition).
Let be any vertex such that . A partition of is good for if it satisfies the following properties:
-
maintains the -edge-connected components.
-
For every ordinary vertex with , and every ordinary vertex , we have that and are separated by .
We provide a linear-time algorithm for computing a good partition when , by exploiting the DAG representation of all minimum cuts introduced by Picard and Queyranne [38].
Proposition 9.
Let be a vertex with . Then there is an algorithm that runs in time and returns a good partition for .
To obtain Proposition 9, we construct the Picard–Queyranne DAG representation of all minimum - cuts. This representation corresponds to the residual graph obtained after computing any maximum -flow – which has value , since – and contracting its strongly connected components (SCCs). The resulting SCCs define a partition of , which we show satisfies Definition 8. The connection between the Picard–Queyranne DAG and the -sets follows from a simple observation: for any ordinary vertex with , if , then is also a minimum - cut, and is therefore represented in the DAG. Full details are provided in Section 4.1.
The case where is more involved. In this setting, we leverage structural properties of latest minimum cuts.
Proposition 10.
Let be a vertex with . Then there is an algorithm that runs in time and returns a good partition for .
Let be the latest mincut that separates and . This is the (inclusion-wise) maximum -out set that separates and . The reason that we consider the latest mincut is that, first, this can be computed in linear time, and second, it captures the notion of having made the utmost progress before increasing the edge-connectivity. (This idea is made precise in Lemma 19.)
Note that contains only auxiliary vertices (that is, for all ), so we may contract into a single auxiliary vertex with out-degree . Now consider a set such that , and let . For any ordinary vertex , we also have . To separate and , we distinguish two cases: (1) all outgoing edges of belong to ; or (2) at least one outgoing edge of lies inside . In the former case, it suffices to compute the -edge-connected components of , which can be done in linear time [18, 19]. In the latter case, we can contract , thereby reducing the problem to the case .
2.4 Proof of the main theorem
We now present the proof of our first main result, stated in Theorem 1. We begin with the case where is a fixed constant. In this setting, we can apply the deterministic version of the -ECC-decomposition (see the paragraph right after the statement of Theorem 3), which runs in time.
After this decomposition, we can consider a -edge-connected graph with vertices and edges, that consists of two kinds of vertices: ordinary and auxiliary. The ordinary vertices of are -edge-connected. Now, we provide the proof of Theorem 5.
Proof of Theorem 5.
Let be a fixed ordinary vertex of . First, we compute all -sets with volume at most . Specifically, for every ordinary vertex , we apply the algorithm , whose guarantees are stated in Proposition 6. Thus, we get a vertex set such that, if and , then . Otherwise, we may still get , or . (In any case, we will not get a non-empty output which is distinct from .) Since we apply this procedure for every ordinary vertex (and the number of such ordinary vertices may be as large as ), by Proposition 6 we get an time bound for this step. The total output is a collection of sets of vertices with vertices in each set. We can sort those sets in time with bucket sort, and determine the partition of the ordinary vertices that have the same -set with volume . To be more precise, if for two distinct ordinary vertices and we have , then we put and in the same set in . (And we can put all auxiliary vertices of in a single set in this partition.) Thus, if two ordinary vertices are -edge-connected, then they appear in the same set in .
Now we have to consider the separations induced by the -sets of ordinary vertices with volume larger than . To do this, we first sample enough edges (uniformly, with repetitions allowed) so that, with probability at least , we have that, for every such “large” -set , we have sampled at least one edge whose tail is in . Thus, it is sufficient to sample edges. To see this, consider an -set with volume more than . This means that there are more than edges whose tail is in . Then, the probability that a randomly chosen edge does not have its tail in is less than . Thus, the probability that, after samples, we have not sampled an edge whose tail is in is less than
Thus, since is a trivial upper bound on the number of distinct -sets, by the union bound we have that: the probability that there is an -set with volume more that for which we have not sampled an edge whose tail is in is less than .
Thus, from now on, we may assume that: for every -set with volume more than , we have sampled at least one edge whose tail is in .
Now, for every tail of an edge that we have sampled, we do the following. First, we perform at most iterations of Ford-Fulkerson’s algorithm, in order to determine whether , or , or . (This takes time .) In the first and second case, we apply Proposition 10 and Proposition 9, respectively, on , in order to get a partition of with the guarantess provided by the respective proposition. (Again, this step takes time.) In the third case (i.e., if ), we do nothing. Thus, we get a collection of partitions of in total time . We compute the common refinement of those partitions with bucket sort, and this takes time . Then, we return the common refinement of and , which takes time to be computed. This is how we get a partition . Notice that, by the guarantees of Propositions 10 and 9, we have that maintains the -edge-connected components of .
Now we repeat the same process on the reverse graph , with the same fixed vertex , and thus we get a partition . Our final output is the common refinement of and .
In order to establish correctness, it remains to show that: if two ordinary vertices and are not -edge-connected, then they appear in distinct sets in the final output. So let and be two ordinary vertices that are not -edge-connected. Then, by Lemma 14 we have that either or . Let us assume, w.l.o.g., that . Now, if either or , then and are separated by , and thus by the final output. Otherwise, for each of and we have that its -set is either , or it has volume more than , but they cannot both be . Now, since , by Lemma 15 we have that either and , or and . Thus, we may assume, w.l.o.g., that and . Now, since , our assumption implies that we have sampled at least one edge whose tail is in . Then, we obviously have that , and therefore one of Propositions 10 and 9 (depending on whether or , respectively), implies that separates and . Thus, and are separated by the final output.
(Notice that our assumption holds on with probability more than . However, we want the same assumption to hold simultaneously for and with probability more than . Thus, we should have chosen to be half of the desired probability of failure, so that, by the union bound, this assumption is satisfied simultaneously in and with the desired probability of success.)
If we drop the assumption that is a fixed constant, then, by relying throughout on the deterministic local search procedure of Proposition 6, there is an exponential dependency on in the time bound for computing the -edge-connected components. We can improve this dependency to polynomial, by using instead the randomized local search procedure of Proposition 7. The local search procedure is used in two different places in our framework: in the algorithm for computing the -ECC-decomposition (Theorem 3), and in the search for small -sets in Line 3 of Algorithm 1.
In particular, if we want to have the same guarantees for Algorithm 1 as in the statement of Theorem 5, but with a running time of , then we must replace the local search procedure in Line 3 with that provided by Proposition 7, and repeat it for times for every vertex . This is in order to get a bound on the probability of failure for every vertex , for the search for small -sets in each direction (i.e., in and in ), so that the union bound gives a bound on the probability of failure for this search in both directions. Furthermore, we must increase the sampling rate in Line 5 from to , in order to also get a bound on the probability of failure for the search for large -sets (in both directions). Thus, by the union bound, the total probability of failure of Algorithm 1 can be bounded by .
Overall, in order to establish Theorem 1, we need as input the graph , and the parameters and . First, we employ the randomized decomposition of Theorem 3, which runs in time and produces a correct decomposition with probability at least . Then, for each graph , we apply Algorithm 1 with bound on the probability of failure. This is because: first, there are at most graphs on which we apply this algorithm, and second, each of those graphs has at most ordinary vertices (that correspond to vertices of the original graph). Thus, the union bound establishes the bound on the probability of failure for computing the -edge-connected components of the original graph .
2.5 Computing the -edge-connected components
In order to establish Theorem 2, we use the same framework that we applied in order to establish Theorem 1, with some crucial differences that we will discuss here. (Notice that Theorem 2 is not an immediate consequence of Theorem 1, because here we assume that the input graph is any general digraph, i.e., not necessarily -edge-connected.)
First, Theorem 4 implies that the computation of the -edge-connected components of reduces to that of the -edge-connected components of the graphs (of the -ECC decomposition) . Thus, from now on we may assume that the input graph is strongly connected and has two kinds of vertices: ordinary and auxiliary, where the ordinary vertices are -edge-connected. The goal is to compute a partition of such that two ordinary vertices are -edge-connected if and only if they belong to the same set in .
Now we fix an ordinary vertex , and we apply Algorithm 1, with the following modification in Line 10: instead of using Proposition 10, we use Proposition 11. This is because here we may have (whereas with the assumption that the graph is -edge-connected, only the case can arise).
Proposition 11.
Let be a strongly connected graph that has two kinds of vertices: ordinary and auxiliary, where the ordinary vertices are -edge-connected. Let be an ordinary vertex, and let be a vertex with . Then there is an algorithm that runs in time and returns a partition of with the following properties:
-
maintains the -edge-connected components of .
-
For every two ordinary vertices and with and , we have that and are separated by .
(Here “” is the minimum -out set that separates from .)
We note that Line 10 is the only place in which the use of Algorithm 1 for the computation of the -edge-connected components differs from that for the computation of the -edge-connected components. In particular, in Lines 3, 7 and 9, we just replace “” with “”. The analysis is the same as in Sections 2.2 and 2.4, where the “” sets here have the meaning of minimal -out sets that separate ordinary vertices from . The proof of Proposition 11 is discussed in Section 4.2.
3 Basic definitions
3.1 The operator of local edge connectivity
Let and be two disjoint sets of vertices. If there is a -out set with and , then we say that is a -cut that separates and . (We note that the order of and here is important.) Furthermore, if there is no -out set with such that and , then we say that is an -mincut. If there is an -mincut with , then we write . (We note that the operator does not necessarily act symmetrically on sets of vertices.)
If either of and consists of a single vertex, then we may substitute it in the expression “” with the vertex that it consists of. (E.g., if , then we may denote simply as .) Furthermore, we may write “” instead of just “”, if we want to specify the reference graph .
Lemma 12.
Let and be two disjoint sets of vertices with , and let and be two -out sets that separate and . Then, both and are -out sets.
Proof.
Due to the submodularity of the cut function, we have , and therefore . Notice that both and are cuts that separate and . Thus, since , we have and . Therefore, we have , and thus we infer that and .
We will be using the following corollary throughout, without explicitly invoking it.
Corollary 13.
Let and be two disjoint sets of vertices with . Then there is an inclusion-wise minimum -out set that separates and . Furthermore, there is an inclusion-wise maximum -out set that separates and .
Proof.
Consider the collection of all -out sets that separate and . Then, Lemma 12 implies that is a -out set that separates and . Similarly, Lemma 12 implies that is a -out set that separates and .
Let be a set of vertices of , and let be the graph that is formed by contracting into a single vertex . If is a set of vertices of , then we let denote if , and otherwise. (I.e., is the “uncontraction” of in .) Then it is easy to see that, for every set of vertices of , we have . This implies that, for every two disjoint sets of vertices and of , we have . (I.e., the process of contracting vertices can only increase the edge connectivity.)
3.2 Minimum -out sets
In everything that follows, we will use “” to denote a fixed ordinary vertex of . We will use in order to consider minimum -out sets that separate vertices from it. Specifically, let be a vertex with . If there is a -out set with and , then we let denote the (inclusion-wise) minimum such -out set. Otherwise, we let . We use “” to denote the same concept as “” in the reverse graph .
The reason that we consider the -sets is twofold. First, those sets are sufficient in order to determine the relation of -edge-connectivity, as shown in Lemma 14.222A similar observation was utilized in [17], in order to compute the -edge-connected components in linear time. Specifically, [17] also uses a concept of -sets, which are the minimum -in sets that separate from a vertex. Lemma 14 is analogous to Proposition III.5 in [17]. And second, if the -set of a vertex exists, then it can be computed in time proportional to its volume using a local search procedure (see Proposition 6).
Lemma 14.
Let and be two ordinary vertices that are not -edge-connected. Then, either , or .
Proof.
Since and are not -edge-connected (but they are -edge-connected), we may assume, w.l.o.g., that there is a -cut that separates and . Now there are two possibilities: either , or . Let us first consider the case that . Then, is a -cut that separates and , and therefore exists and . Then, since , we have . Therefore, we infer that either does not exist, or (because, if exists, it satisfies ). Now let us assume that . Then, is a -cut in that separates and . Thus, we have , and . Therefore, we infer, as previously, that either does not exist, or .
Lemma 15.
Let and be two ordinary vertices such that . Then, either and , or and .
Proof.
Since , we cannot have and . Thus, we may assume, w.l.o.g., that . Now, if , then we are done. So let us assume that . Then, is a -out set that separates and , and therefore . Then, due to the minimality of , we have . Now, if we assume that , then, due to the minimality of , we get , and therefore we have , which contradicts the assumption in the statement of the lemma. Thus, we conclude that .
In order to compute -sets of “small” volume (and, later on, separations of vertices induced by -sets of “large” volume), we rely on the following local search procedure.
Proposition 6. [Restated, see original statement.]
Let be a vertex with and , and let be an integer. There is an algorithm which runs in time and returns a set of vertices (which may be ) with the following guarantees:
-
If , then .
-
If , then either or .
(Notice that the guarantees of Proposition 6 imply that if and , then the output will be .)
We note that Proposition 6 follows from a straightforward adaptation of ideas contained in [8], for computing minimal sets of vertices with a bounded number of outgoing edges, through a local search procedure. In order to understand the relation between Proposition 6 and the local search procedure of [8], we recall the following concept from [8]. Let be a vertex of a graph , and let be an integer. Then, a set of vertices is called a -edge-out component of if and , and there is no set of vertices with such that . The number of edges of is called the volume of . Now, given a vertex and two integers and , we have the following:
Lemma 16 ([8]).
In time we can find a -edge-out component of with volume less than , or determine that there is no -edge-out component of with volume at most .
The idea behind Lemma 16 is roughly the following. If there is a -edge-out component of with volume at most , then there is a DFS-based procedure, that starts from , explores edges, and finds a set of paths with the property that at least one of them starts from and ends outside of . Then, by reversing the direction of the edges of such a path, becomes a -edge-out component in the resulting graph. Thus, if we repeat this process times, in the end it is sufficient to just explore the reachability set of in the resulting graph, and this provides .
There is an obvious similarity between the guarantees of Lemma 16 for and Proposition 6. Specifically, it is easy to see that, if we have a vertex with , then is a -edge-out component of . Therefore, if has volume at most , then Lemma 16 will be able to identify a -edge-out component of in time. However, the -edge-out component of returned by Lemma 16 may have less than outgoing edges. This is because there may exist a -out set with that contains both and and has sufficiently small volume. (In fact, the whole graph is a -edge-out component of , and thus for sufficiently large we just get the whole graph as output.) But here it helps precisely that we know that is outside of . Thus, whenever we happen to meet during the (DFS-based) local search procedure, we can immediately pick and reverse the discovered path from to . This is the crux of the adaptation that we had to make to the local search procedure from [8]. The full proof of Proposition 6 is given in [20].
3.3 Latest mincuts
Let and be two distinct vertices with . By Corollary 13, there is an inclusion-wise maximum -out set that separates and . We call the latest -mincut. (We note that the order of and is important.)
The intuitive reason that we consider latest mincuts is because these are the furthest that we can cut, without exceeding the value of the minimum cut; a precise formulation of this property is provided in Lemma 19. Furthermore, the latest mincuts for pairs of vertices with bounded edge-connectivity can be computed in linear time, as shown in the following lemma. We note that the notion of the latest -mincut was introduced by Ford and Fulkerson [11], who showed how to compute it using the residual graph of the corresponding flow problem. For completeness – and because we will later use similar arguments – we provide a self-contained proof that does not rely on flow-based techniques.
Lemma 17.
Let and be two distinct vertices of with . Then, the latest -mincut can be computed in time.
Proof.
Let be the latest -mincut. Now we apply the following procedure (essentially iterations of Ford-Fulkerson’s algorithm for computing an -maxflow). First, we compute a path in from to . Then we reverse the direction of the edges of , and let be the resulting graph. Now suppose that we have computed a path from to in and a graph using the same process, for some . Then, we compute a path from to in , we reverse the direction of the edges of in , and let be the resulting graph. Finally, we compute the set of vertices of that cannot reach . Obviously, this whole procedure can be completed in time.
Our goal is to show that . First, a repeated application of Lemma 58 in [20] implies that . Thus, no vertex from can reach in , and therefore . Since is an -cut and is the inclusion-wise maximum -out set in that separates and , we infer that . Now, a repeated application of Lemma 58 in [20] implies that . Due to the definition of , we have . This implies that . Therefore, due to the maximality of , we conclude that .
Lemma 18.
Let and be two distinct vertices, and let be an -mincut (not necessarily the latest). Then, every boundary point of in is reachable by through a path in .
Proof.
Let be the set of vertices that are reachable by in . Thus, we have and . Therefore, is an -cut, and therefore . Furthermore, by the definition of we have that every outgoing edge of in is an outgoing edge of in . Thus, . Then, since , we infer that . This shows that the set of the outgoing edges of in coincides with the set of the outgoing edges of in . We conclude that includes the tails of the outgoing edges of in (i.e., the boundary points of ).
For convenience, we use the following notation. Let be a vertex of a graph . Then denotes the set of vertices that are reachable from . In other words, consists of every vertex of for which there exists a path that starts from and ends in .
Lemma 19.
Let and be two distinct vertices, let be the latest -mincut, let , and let be an exit point of with . Then .
Proof.
Notice that is an -cut, and therefore . Now let us suppose, for the sake of contradiction, that . This implies that there is an -cut with . Our goal is to show that is an -cut with , which contradicts the fact that is the latest -mincut (because is strictly larger than , since it contains ). Throughout this proof, whenever we speak of an outgoing edge of a set of vertices, we mean an outgoing edge in .
Let be the set of vertices from that are unreachable by in . (I.e., .) Then, we have . Notice that every outgoing edge of has its head in . (Otherwise, there exists an edge with and . Thus, is an outgoing edge of . But then, since is an -mincut, by Lemma 18 we have that can reach in , in contradiction to the definition of .)
Now, since and , we have . Let be an outgoing edge of . Then, either or . If , then is an outgoing edge of , and so . But , and so cannot be an outgoing edge of . Thus, we have . Then, is an outgoing edge of . This shows that the set of the outgoing edges of is a subset of the set of the outgoing edges of . Thus, we have . But since , this implies the desired contradiction.
4 Finding good partitions induced by the large -sets
In this section we assume that is a strongly connected graph, where some of its vertices are designated as “ordinary” and they are -edge-connected. Let be a fixed ordinary vertex. For every ordinary vertex with , we let denote the inclusion-wise minimum -out set that separates and .
Our goal is to establish Proposition 9, 10, and 11. The proofs of Propositions 9 and 10 are provided in Sections 4.1 and 4.2, where they appear as Proposition 22 and Proposition 23, respectively, because the corresponding properties of the computed partitions are explained formally in their statements. The proof of Proposition 11 is discussed in Section 4.2, because this is established by using the same techniques as in Proposition 23.
4.1 Proof of Proposition 9 (using the Picard-Queyranne graph)
Let and be two distinct vertices of . If is a multigraph, then we consider it as a simple capacitated graph, with capacity function , where for every edge equals the multiplicity of in the original graph. Let us define an -flow as a function with the following two properties:
-
1.
, for every edge of . (I.e., the flow passing through every edge cannot exceed its capacity.)
-
2.
, for any vertex . (I.e., the amount of flow entering any vertex equals the amount of flow exiting .)
Without loss of generality, we may assume that no flow enters the source vertex and no flow leaves the sink vertex , i.e., for any edge and any edge .
We call the value of . (I.e., the value of is the amount of flow exiting .) It is well known that an -flow with value exists, and this is in fact the maximum value of any -flow. We call such a flow an -maxflow.
Definition 20 (Picard-Queyranne graph).
Let be an -maxflow of . Then we define a graph with as follows. For every edge of , there is an edge in if , and an edge if . is called the Picard-Queyranne graph that corresponds to .
We note that, since is strongly connected, it is not difficult to see that is reachable by all vertices in , and reaches all vertices in . (Thus, if we contract every strongly connected component of into a single vertex, then the node containing is the only source, and the node containing is the only sink in the resulting DAG.)
Picard and Queyranne [38] have provided the following characterization of the -mincuts of :
Proposition 21 (Theorem 1 in [38]).
A set of vertices of is an -mincut if and only if: it contains , it does not contain , and it is closed w.r.t. the reachability relation in (i.e., for every , we have ).
We will prove the following.
Proposition 22.
Let be a vertex with . There is an algorithm that runs in time and returns a partition of with the following properties:
-
maintains the -edge-connected components of .
-
For every two ordinary vertices and with and , we have that and are separated by .
Proof.
First we perform iterations of Ford-Fulkerson’s augmenting paths algorithm (e.g. using BFS), in order to find a maximum -flow. Then we construct the corresponding graph as described in Definition 20, and we let be the collection of the strongly connected components (viewed as vertex-sets) of . Thus, the computation of takes time.
Now let and be two vertices of that are separated by . Then, at least one of those vertices is unreachable by the other in . Thus, we may assume w.l.o.g. that cannot reach in . This implies that cannot reach the strongly connected component of in (because reaches all vertices of ), and therefore is a -mincut of . Since , we have that is a -out set of . Furthermore, separates and . Thus, and are not -edge-connected in . This establishes the property that maintains the -edge-connected components of .
Now let and be two ordinary vertices of with and . This implies that is a -out set that separates and . Therefore, since , we have that is a -mincut. According to Proposition 21, this implies that . Thus, since , we have that cannot reach in , and therefore and are separated by .
4.2 Proof of Proposition 10
We will prove the following.
Proposition 23.
Let be a vertex with . There is an algorithm that runs in time and returns a partition of with the following properties:
-
maintains the -edge-connected components of .
-
For every two ordinary vertices and with and , we have that and are separated by .
Proof.
We apply the procedure shown in Algorithm 2. Thus, first we compute the latest -mincut . By Lemma 17, this takes time. Notice that does not contain any ordinary vertex of (because the ordinary vertices are -edge-connected, and is a -out set).
Then, we contract into a single vertex , and let be the resulting graph. It is easy to establish the following two facts: for every two vertices and of with , we have , and the out-degree of in is . Let be the set of the outgoing edges of in .
Now, as shown in Line 4, we first remove all outgoing edges of from , and we compute the partition of the -edge-connected components of the resulting graph, that we denote by . By [18], this takes linear time. Let be the partition of that corresponds to . (I.e., every set of is a set of , except for the set that contains , which is replaced by .) Let and be two vertices of with and . Then, by we infer that . Thus, maintains the -edge-connected components of .
Then, for every such that the head of is not , we contract with into a single vertex , and let be the resulting graph (derived from ). Notice that is essentially the same graph as if we had contracted the vertex set of into . Thus, it is not difficult to see that Lemma 19 implies that . (To be precise, Lemma 19 implies that , where . But then, since , we have . Thus, we get , which implies that .) Now, if , then we can apply Proposition 22 on (with ), in order to get a partition . By Proposition 22, we have that maintains the -edge-connected components of . Then, since is essentially derived from by contracting into a single vertex, we have that the partition of that corresponds to maintains the -edge-connected components of .
The output of Algorithm 2 is the partition which is the common refinement of and all , for such that the head of is not and . Therefore, so far we have established that maintains the -edge-connected components of .
Now let and be two ordinary vertices of such that and . Consider the set of vertices . As is an ordinary vertex, we have . We will show that . By the submodularity of the cut function we have
We have and . On the other hand, we have (because is a -cut), and (because is a -cut). Thus, we infer that .
Now consider the projection of from into . Then, since , we have , and therefore is a -out set of . Notice that and . Now, if the outgoing edges of in are outgoing edges of , then their removal from drops the connectivity from to to . Thus, and are separated by , and therefore by , and therefore by . Otherwise, we have that at least one outgoing edge of in lies entirely within . Then, since we contract with the head of into a vertex in order to get , it is easy to see that the projection of into is a -out set of that contains , and does not contain or . Then, by Proposition 22 we infer that is separated from by , and therefore by .
Notice that we get the time bound because we apply at most times the algorithm that establishes Proposition 22 on graphs that have at most as many edges as .
In order to establish Proposition 11, we can use Algorithm 2 with the following modifications (and the proof of correctness is similar to that of Proposition 23). First, if , then we just apply this algorithm with . However, if , then the vertex , that appears in Line 2 (and is the contraction of the latest -mincut ), has a unique outgoing edge . Thus, in Line 4 we perform a computation of the -edge-connected components of . This can be performed in linear time, by [17]. Then, we have , where is the head of . And now, if , we work similarly as in Lines 8 to 10. The only difference is that, if , then we apply again Proposition 11, instead of Proposition 22.
References
- [1] Amir Abboud, Robert Krauthgamer, and Ohad Trabelsi. APMF < APSP? Gomory-Hu tree for unweighted graphs in almost-quadratic time, 2021. arXiv:2106.02981.
- [2] Amir Abboud, Robert Krauthgamer, and Ohad Trabelsi. Subcubic algorithms for gomory–hu tree in unweighted graphs. In Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of Computing, STOC 2021, pages 1725–1737, New York, NY, USA, 2021. Association for Computing Machinery. doi:10.1145/3406325.3451073.
- [3] Amir Abboud, Jason Li, Debmalya Panigrahi, and Thatchaphol Saranurak. All-pairs max-flow is no harder than single-pair max-flow: Gomory–Hu trees in almost-linear time. In 2023 IEEE 64th Annual Symposium on Foundations of Computer Science (FOCS), pages 2204–2212, 2023. doi:10.1109/FOCS57990.2023.00137.
- [4] Shyan Akmal. An enumerative perspective on connectivity. In 2024 Symposium on Simplicity in Algorithms (SOSA), pages 179–198, 2024. doi:10.1137/1.9781611977936.18.
- [5] Shyan Akmal and Ce Jin. An Efficient Algorithm for All-Pairs Bounded Edge Connectivity. In Kousha Etessami, Uriel Feige, and Gabriele Puppis, editors, 50th International Colloquium on Automata, Languages, and Programming (ICALP 2023), volume 261 of Leibniz International Proceedings in Informatics (LIPIcs), pages 11:1–11:20, Dagstuhl, Germany, 2023. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.ICALP.2023.11.
- [6] Josh Alman, Ran Duan, Virginia Vassilevska Williams, Yinzhan Xu, Zixuan Xu, and Renfei Zhou. More asymmetry yields faster matrix multiplication. In Proceedings of the 2025 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 2005–2039, 2025. doi:10.1137/1.9781611978322.63.
- [7] András A. Benczúr. Counterexamples for directed and node capacitated cut-trees. SIAM Journal on Computing, 24(3):505–510, 1995. doi:10.1137/S0097539792236730.
- [8] Shiri Chechik, Thomas Dueholm Hansen, Giuseppe F Italiano, Veronika Loitzenbauer, and Nikos Parotsidis. Faster algorithms for computing maximal 2-connected subgraphs in sparse directed graphs. In Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 1900–1918. SIAM, 2017. doi:10.1137/1.9781611974782.124.
- [9] Li Chen, Rasmus Kyng, Yang P. Liu, Richard Peng, Maximilian Probst Gutenberg, and Sushant Sachdeva. Maximum flow and minimum-cost flow in almost-linear time. In Proceedings of the 63rd IEEE Symposium on Foundations of Computer Science, FOCS ’22, 2022. doi:10.48550/arXiv.2203.00671.
- [10] Ho Yee Cheung, Lap Chi Lau, and Kai Man Leung. Graph connectivities, network coding, and expander graphs. SIAM J. Comput., 42(3):733–751, January 2013. doi:10.1137/110844970.
- [11] D. R. Ford and D. R. Fulkerson. Flows in Networks. Princeton University Press, USA, 2010.
- [12] Sebastian Forster, Danupon Nanongkai, Liu Yang, Thatchaphol Saranurak, and Sorrachai Yingchareonthawornchai. Computing and testing small connectivity in near-linear time and queries via fast local cut algorithms. In Proceedings of the Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 2046–2065. SIAM, 2020. doi:10.1137/1.9781611975994.126.
- [13] H. N. Gabow. Path-based depth-first search for strong and biconnected components. Information Processing Letters, 74:107–114, 2000. doi:10.1016/S0020-0190(00)00051-X.
- [14] Harold N. Gabow. The minset-poset approach to representations of graph connectivity. ACM Transactions on Algorithms, 12(2):24:1–24:73, February 2016. doi:10.1145/2764909.
- [15] Z. Galil and G. F. Italiano. Reducing edge connectivity to vertex connectivity. SIGACT News, 22(1):57–61, March 1991. doi:10.1145/122413.122416.
- [16] Loukas Georgiadis, Giuseppe F. Italiano, and Evangelos Kosinas. Computing the 4-edge-connected components of a graph in linear time. In Proc. 29th European Symposium on Algorithms, pages 47:1–47:17, 2021. doi:10.4230/LIPIcs.ESA.2021.47.
- [17] Loukas Georgiadis, Giuseppe F. Italiano, and Evangelos Kosinas. Computing the 3-edge-connected components of directed graphs in linear time. In 65th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2024, Chicago, IL, USA, October 27-30, 2024, pages 62–85. IEEE, 2024. doi:10.1109/FOCS61266.2024.00015.
- [18] Loukas Georgiadis, Giuseppe F. Italiano, Luigi Laura, and Nikos Parotsidis. 2-edge connectivity in directed graphs. ACM Trans. Algorithms, 13(1), October 2016. doi:10.1145/2968448.
- [19] Loukas Georgiadis, Giuseppe F. Italiano, and Nikos Parotsidis. Strong connectivity in directed graphs under failures, with applications. SIAM J. Comput., 49(5):865–926, 2020. doi:10.1137/19M1258530.
- [20] Loukas Georgiadis, Evangelos Kipouridis, Evangelos Kosinas, Charis Papadopoulos, and Nikos Parotsidis. Computing the (k+2)-edge-connected components in k-edge-connected digraphs in subquadratic time, 2026. arXiv:2604.27474.
- [21] Loukas Georgiadis, Evangelos Kipouridis, Charis Papadopoulos, and Nikos Parotsidis. Faster computation of 3-edge-connected components in digraphs. In Proc. 2023 ACM-SIAM Symposium on Discrete Algorithms, SODA, pages 2489–2531. SIAM, 2023. doi:10.1137/1.9781611977554.CH96.
- [22] Loukas Georgiadis and Robert E. Tarjan. Dominator tree certification and divergent spanning trees. ACM Transactions on Algorithms, 12(1):11:1–11:42, November 2015. doi:10.1145/2764913.
- [23] Ramesh Hariharan, Telikepalli Kavitha, and Debmalya Panigrahi. Efficient algorithms for computing all low s-t edge connectivities and related problems. In Proceedings of the Eighteenth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’07, pages 127–136, USA, 2007. Society for Industrial and Applied Mathematics. URL: http://dl.acm.org/citation.cfm?id=1283383.1283398.
- [24] M. Henzinger, S. Rao, and D. Wang. Local flow partitioning for faster edge connectivity. SIAM Journal on Computing, 49(1):1–36, 2020. doi:10.1137/18M1180335.
- [25] J. E. Hopcroft and R. E. Tarjan. Dividing a graph into triconnected components. SIAM Journal on Computing, 2(3):135–158, 1973. doi:10.1137/0202012.
- [26] Gary Hoppenworth, Thatchaphol Saranurak, and Benyu Wang. Near-optimal fault-tolerant strong connectivity preservers. In Proceedings of the 66th Annual Symposium on Foundations of Computer Science (FOCS 2025), 2025.
- [27] Andreas Huck. Disproof of a conjecture about independent branchings in -connected directed graphs. Journal of Graph Theory, 20(2):235–239, 1995. doi:10.1002/jgt.3190200212.
- [28] K.-I. Kawarabayashi and M. Thorup. Deterministic edge connectivity in near-linear time. Journal of the ACM, 66(1), December 2018. doi:10.1145/3274663.
- [29] Tuukka Korhonen. Linear-time algorithms for -edge-connected components, -lean tree decompositions, and more. In 57th ACM Symposium on Theory of Computing (STOC 2025), 2025.
- [30] Evangelos Kosinas. Computing the 5-edge-connected components in linear time. In Proceedings of the Annual ACM-SIAM Symposium on Discrete Algorithms, pages 1887–2119, 2024. doi:10.1137/1.9781611977912.76.
- [31] Jason Li, Debmalya Panigrahi, and Thatchaphol Saranurak. A nearly optimal all-pairs min-cuts algorithm in simple graphs. In 2021 IEEE 62nd Annual Symposium on Foundations of Computer Science (FOCS), pages 1124–1134, 2022. doi:10.1109/FOCS52979.2021.00111.
- [32] K. Menger. Zur allgemeinen kurventheorie. Fund. Math., 10:96–115, 1927.
- [33] W. Nadara, M. Radecki, M. Smulewicz, and M. Sokolowski. Determining 4-edge-connected components in linear time. In Proc. 29th European Symposium on Algorithms, 2021.
- [34] H. Nagamochi and T. Ibaraki. A linear time algorithm for computing 3-edge-connected components in a multigraph. Japan J. Indust. Appl. Math, 9(163), 1992. doi:10.1007/BF03167564.
- [35] H. Nagamochi and T. Ibaraki. Algorithmic Aspects of Graph Connectivity. Cambridge University Press, 2008. 1st edition.
- [36] H. Nagamochi and Toshimasa Watanabe. Computing k-edge-connected components of a multigraph (special section on discrete mathematics and its applications). IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 76:513–517, 1993.
- [37] Danupon Nanongkai, Thatchaphol Saranurak, and Sorrachai Yingchareonthawornchai. Breaking quadratic time for small vertex connectivity and an approximation scheme. In Proceedings of the 51st Annual ACM SIGACT Symposium on Theory of Computing, pages 241–252, 2019. doi:10.1145/3313276.3316394.
- [38] Jean-Claude Picard and Maurice Queyranne. On the structure of all minimum cuts in a network and applications. Math. Program., 13(1):8–16, 1980.
- [39] Claus-Peter Schnorr. Bottlenecks and edge connectivity in unsymmetrical networks. SIAM Journal on Computing, 8(2):265–274, 1979. doi:10.1137/0208019.
- [40] R. E. Tarjan. Depth-first search and linear graph algorithms. SIAM Journal on Computing, 1(2):146–160, 1972. doi:10.1137/0201010.
- [41] Y. H. Tsin. Yet another optimal algorithm for 3-edge-connectivity. Journal of Discrete Algorithms, 7(1):130–146, 2009. Selected papers from the 1st International Workshop on Similarity Search and Applications (SISAP). doi:10.1016/j.jda.2008.04.003.
