documentationfor yFiles for HTML 2.6

BiconnectedComponents

Determines the biconnected components and articulation points of a given undirected graph.

Inheritance Hierarchy
BiconnectedComponents

Remarks

A biconnected component is a subgraph which is connected and non-separable, i.e. after removing one single node the component is still connected. Another way of looking at it is that every pair of nodes in a biconnected component has at least two different paths between them.

In a connected (sub)graph the biconnected components are attached to each other at shared nodes, the so-called articulation points. Articulation points represent nodes that, when removed, cause the whole connected component to break up into multiple connected components.

Other Graph Connectivity Algorithms

yFiles for HTML supports a number of other analysis algorithms that partition the graph into components, based on various criteria.

  • ConnectedComponents – Determines components defined by the existence of an undirected path between nodes
  • StronglyConnectedComponents – Determines components defined by the existence of a directed path between nodes
  • Bipartition – Divides a graph into two partitions where all edges have their source and target in different partitions
  • IndependentSets – Divides a graph into partitions where no nodes are connected within a partition
  • KCoreComponents – Calculates the k-cores of an undirected input graph. The k-core of an undirected input graph consists of the subgraph components where each node has at least degree k.

Examples

Highlighting the edges of different biconnected components in a graph
// prepare the biconnected components algorithm
const algorithm = new BiconnectedComponents()
// run the algorithm
const result = algorithm.run(graph)

// highlight the edges of the biconnected components with different styles
for (const edge of graph.edges) {
  const componentId = result.edgeComponentIds.get(edge)
  graph.setStyle(edge, componentStyles.get(componentId))
}// prepare the biconnected components algorithm
const algorithm = new BiconnectedComponents()
// run the algorithm
const result = algorithm.run(graph)

// highlight the edges of the biconnected components with different styles
for (const edge of graph.edges) {
  const componentId = result.edgeComponentIds.get(edge)
  graph.setStyle(edge, componentStyles.get(componentId)!)
}

Type Details

yfiles module
view-layout-bridge
yfiles-umd modules
view-layout-bridge
Legacy UMD name
yfiles.analysis.BiconnectedComponents

See Also

Constructors

Properties

Methods