In graph theory , a biconnected component sometimes known as a 2-connected component is a maximal biconnected subgraph. Any connected graph decomposes into a tree of biconnected components called the block-cut tree of the graph. The blocks are attached to each other at shared vertices called cut vertices or articulation points. Specifically, a cut vertex is any vertex whose removal increases the number of connected components. The classic sequential algorithm for computing biconnected components in a connected undirected graph is due to John Hopcroft and Robert Tarjan This algorithm is also outlined as Problem of Introduction to Algorithms both 2nd and 3rd editions.
|Published (Last):||27 July 2015|
|PDF File Size:||7.39 Mb|
|ePub File Size:||2.1 Mb|
|Price:||Free* [*Free Regsitration Required]|
A biconnected component of a graph is a connected subgraph that cannot be broken into disconnected pieces by deleting any single node and its incident links. An articulation point is a node of a graph whose removal would cause an increase in the number of connected components. Articulation points can be important when you analyze any graph that represents a communications network.
Consider an articulation point which, if removed, disconnects the graph into two components and. All paths in G between some nodes in and some nodes in must pass through node i. In this sense, articulation points are critical to communication. Examples of where articulation points are important are airline hubs, electric circuits, network wires, protein bonds, traffic routers, and numerous other industrial applications.
This algorithm works only with undirected graphs. For each link in the links data set, the variable biconcomp identifies its component. The component identifiers are numbered sequentially starting from 1. For each node in the nodes data set, the variable artpoint is either 1 if the node is an articulation point or 0 otherwise. This algorithm runs in time and therefore should scale to very large graphs. Figure 2. The following statements calculate the biconnected components and articulation points and output the results in the data sets LinkSetOut and NodeSetOut :.
For a more detailed example, see Articulation Points in a Terrorist Network. Table of Contents Topics Credits Tree level 1. Node 1 of 3. Node 2 of 3. Node 3 of 3. Overview Tree level 2. Node 1 of 6. Getting Started Tree level 2. Node 2 of 6. Syntax Tree level 2. Node 3 of 6. Details Tree level 2. Node 4 of 6. Graph Input Data Tree level 3. Node 1 of Matrix Input Data Tree level 3. Node 2 of Data Input Order Tree level 3.
Node 3 of Parallel Processing Tree level 3. Node 4 of Numeric Limitations Tree level 3. Node 5 of Size Limitations Tree level 3. Node 6 of Biconnected Components and Articulation Points Tree level 3. Node 7 of Clique Tree level 3. Node 8 of Connected Components Tree level 3. Node 9 of Cycle Tree level 3.
Node 10 of Linear Assignment Matching Tree level 3. Node 11 of Minimum-Cost Network Flow Tree level 3. Node 12 of Minimum Cut Tree level 3. Node 13 of Minimum Spanning Tree Tree level 3. Node 14 of Shortest Path Tree level 3. Node 15 of Transitive Closure Tree level 3. Node 16 of Traveling Salesman Problem Tree level 3.
Node 17 of Macro Variables Tree level 3. Node 18 of Node 19 of Examples Tree level 2. Node 5 of 6. References Tree level 2. Node 6 of 6. All rights reserved. Keyboard Shortcuts:?
The OPTNET Procedure
A biconnected component is a maximal biconnected subgraph. Biconnected Graph is already discussed here. In this article, we will see how to find biconnected component in a graph using algorithm by John Hopcroft and Robert Tarjan. Idea is to store visited edges in a stack while DFS on a graph and keep looking for Articulation Points highlighted in above figure. As soon as an Articulation Point u is found, all edges visited while DFS from node u onwards will form one biconnected component. When DFS completes for one connected component , all edges present in stack will form a biconnected component. If there is no Articulation Point in graph, then graph is biconnected and so there will be one biconnected component which is the graph itself.