The input graph. It is treated as an undirected graph, even if
it is directed.

Value

A named list with three components:

no

Numeric scalar, an
integer giving the number of biconnected components in the graph.

tree_edges

The components themselves, a list of numeric vectors. Each
vector is a set of edge ids giving the edges in a biconnected component.
These edges define a spanning tree of the component.

component_edges

A list of numeric vectors. It gives all edges in the
components.

components

A list of numeric vectors, the vertices of
the components.

A graph is biconnected if the removal of any single vertex (and its adjacent
edges) does not disconnect it.

A biconnected component of a graph is a maximal biconnected subgraph of it.
The biconnected components of a graph can be given by the partition of its
edges: every edge is a member of exactly one biconnected component. Note
that this is not true for vertices: the same vertex can be part of many
biconnected components.