Class BiConnectedComponentsAlgoHopcroftTarjan

  • All Implemented Interfaces:
    BiConnectedComponentsAlgo

    public class BiConnectedComponentsAlgoHopcroftTarjan
    extends BiConnectedComponentsAlgoAbstract
    Hopcroft-Tarjan algorithm for bi-connected components.

    The algorithm performs a DFS and look for edges from vertices with greater depth to vertices with lower depth. Each such edge indicate there are two separates paths between the edge endpoints: one using the DFS tree, and the other using the edge itself. If there are two disjoint paths between a pair of vertices, they must be in the same bi-connected component, as the removal of any single vertex will not disconnect them.

    The algorithm runs in linear time and space.

    Based on 'Algorithm 447: efficient algorithms for graph manipulation' by Hopcroft, J. and Tarjan, R. 1973.

    Author:
    Barak Ugav