igraph (version 0.5.4-1)

biconnected.components: Biconnected components

Description

Finding the biconnected components of a graph

Usage

biconnected.components(graph)

Arguments

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

Value

  • A named list with three components:
  • noNumeric scalar, an integer giving the number of biconnected components in the graph.
  • componentsThe components themselves, a list of numeric vectors. Each vector is a set of edge ids giving the edges in a biconnected component.
  • articulation_pointsThe articulation points of the graph. See articulation.points.
  • See examples below on how to extract the vertex ids of the biconnected components from the result.

concept

Biconnected component

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.

See Also

articulation.points, clusters, is.connected, vertex.connectivity

Examples

Run this code
g <- graph.disjoint.union( graph.full(5), graph.full(5) )
clu <- clusters(g)$membership
g <- add.edges(g, c(which(clu==0), which(clu==1))-1)
bc <- biconnected.components(g)
vertices <- lapply(bc$components, function(x) unique(as.vector(get.edges(g, x))))

Run the code above in your browser using DataCamp Workspace