# biconnected_components

##### Biconnected components

Finding the biconnected components of a graph

- Keywords
- graphs

##### Usage

`biconnected_components(graph)`

##### Arguments

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

##### Details

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.

##### Value

A named list with three components:

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

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.

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

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

The articulation points of the
graph. See `articulation_points`

.

##### See Also

`articulation_points`

, `components`

,
`is_connected`

, `vertex_connectivity`

##### Examples

```
# NOT RUN {
g <- disjoint_union( make_full_graph(5), make_full_graph(5) )
clu <- components(g)$membership
g <- add_edges(g, c(which(clu==1), which(clu==2)))
bc <- biconnected_components(g)
# }
```

*Documentation reproduced from package igraph, version 1.2.5, License: GPL (>= 2)*