Interface BiConnectedComponentsAlgo
-
public interface BiConnectedComponentsAlgo
An algorithm that compute the bi-connected components of a graph.Given a graph \(G=(V,E)\) a bi-connected component \(B \subseteq V\) is a maximal set of connected vertices that remain connected even after removing any single vertex of \(B\). In particular, an isolated vertex is considered a bi-connected component, along with an isolated pair of vertices connected by a single edge. This algorithm compute all the maximal bi-connected components of the graph. Note that the bi-connected components are not disjoint, namely a single vertex can be included in multiple bi-connected components, differing from the regular connected components of a graph.
For a general k-vertex connected components, see
KVertexConnectedComponentsAlgo
.Use
newInstance()
to get a default implementation of this interface. A builder obtained vianewBuilder()
may support different options to obtain different implementations.- Author:
- Barak Ugav
- See Also:
- Wikipedia,
StronglyConnectedComponentsAlgo
,KVertexConnectedComponentsAlgo
,WeaklyConnectedComponentsAlgo
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
BiConnectedComponentsAlgo.Builder
A builder forBiConnectedComponentsAlgo
objects.static interface
BiConnectedComponentsAlgo.IResult
A result object of aBiConnectedComponentsAlgo
computation forIntGraph
.static interface
BiConnectedComponentsAlgo.Result<V,E>
A result object of aBiConnectedComponentsAlgo
computation.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description <V,E>
BiConnectedComponentsAlgo.Result<V,E>findBiConnectedComponents(Graph<V,E> g)
Compute all maximal bi-connected components of a graph.static BiConnectedComponentsAlgo.Builder
newBuilder()
Create a new bi-connected components algorithm builder.static BiConnectedComponentsAlgo
newInstance()
Create a new bi-connected components algorithm object.
-
-
-
Method Detail
-
findBiConnectedComponents
<V,E> BiConnectedComponentsAlgo.Result<V,E> findBiConnectedComponents(Graph<V,E> g)
Compute all maximal bi-connected components of a graph.If an
IntGraph
is passed as an argumentBiConnectedComponentsAlgo.IResult
is returned.- Type Parameters:
V
- the vertices typeE
- the edges type- Parameters:
g
- a graph- Returns:
- a result object containing the bi-connected components of the graph
-
newInstance
static BiConnectedComponentsAlgo newInstance()
Create a new bi-connected components algorithm object.This is the recommended way to instantiate a new
BiConnectedComponentsAlgo
object. TheBiConnectedComponentsAlgo.Builder
might support different options to obtain different implementations.- Returns:
- a default implementation of
BiConnectedComponentsAlgo
-
newBuilder
static BiConnectedComponentsAlgo.Builder newBuilder()
Create a new bi-connected components algorithm builder.Use
newInstance()
for a default implementation.- Returns:
- a new builder that can build
BiConnectedComponentsAlgo
objects
-
-