Interface BiConnectedComponentsAlgo
- All Known Implementing Classes:
BiConnectedComponentsAlgoAbstract,BiConnectedComponentsAlgoHopcroftTarjan
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.
- Author:
- Barak Ugav
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA result object of aBiConnectedComponentsAlgocomputation forIntGraph.static interfaceA result object of aBiConnectedComponentsAlgocomputation. -
Method Summary
Modifier and TypeMethodDescription<V,E> BiConnectedComponentsAlgo.Result<V, E> findBiConnectedComponents(Graph<V, E> g) Compute all maximal bi-connected components of a graph.static BiConnectedComponentsAlgoCreate a new bi-connected components algorithm object.
-
Method Details
-
findBiConnectedComponents
Compute all maximal bi-connected components of a graph.If an
IntGraphis passed as an argumentBiConnectedComponentsAlgo.IResultis 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
Create a new bi-connected components algorithm object.This is the recommended way to instantiate a new
BiConnectedComponentsAlgoobject.- Returns:
- a default implementation of
BiConnectedComponentsAlgo
-