The cutting point, the bridge and the double connected branch of the graph

Source: Internet
Author: User

Original address: Cut point, bridge and double connected branch of graph

[Point connectivity and edge connectivity]

In an undirected graph, if there is a collection of vertices, deleting the vertex collection, and the associated edges of all the vertices in the set, the original becomes a plurality of connected blocks, which is called the point set as the cut Point collection . The point connectivity of a graph is defined as the number of vertices in the minimum cut point set.

Similarly, if there is a collection of edges, after deleting the set of edges, the original image becomes a plurality of connected blocks, which is called the point set as the cut Edge collection . The edge Connectivity of a graph is defined as the number of edges in the minimum cut edge set.

[Double connected graph, cut point and bridge]

If the point connectivity of a undirected graph is greater than 1, it is said that the graph is a point biconnected, or double -connected or re- connected . A graph has a cut point, and when and only if the point connectivity of the graph is 1, the only element of the cut-point set is called the cut point, or the articulation point.

If the edge connectivity of a undirected graph is greater than 1, the graph is said to be a double-connected (Edge biconnected), referred to as double-connected or re-connected. A figure has a bridge, and when and only if the edge connectivity of the graph is 1, the only element of the cut-edge collection is called the Bridge, also called the Joint Edge (articulation edge).

It can be seen that the point of double connectivity and the edge of the two can be referred to as double connectivity, they have a certain connection between, the following mentioned in the double-connected, both can be pointing dual-connected, but also refers to the double-connected side.

[Dual Connected branch]

In all sub-graphs of Figure G ', if G ' is a double-connected, then G ' is a double-connected sub-graph . If a double-connected sub-graph G ' is not a true subset of any two-connected sub-graphs, then G ' is the maximal double-connected sub-graph . The double Connected branch (biconnected component), or the re-connected branch , is the maximal double-connected sub-graph of the graph. Special, point double connected branch is also called block .

[Cut Point and Bridge]

The algorithm was invented by R.tarjan. For graph Depth First search, define the sequence number that DFS (U) is traversed to in the search tree (hereinafter referred to as the tree). Defines the oldest node in a subtree of low (U) that can be traced through a non-parent-child edge, that is, the node with the lowest DFS ordinal. By definition, there are:

Low (U) =min {dfs (U) DFS (v) (U,V) is a back edge (atavistic edge) equivalent to DFS (v) <dfs (U) and V is not a Father node of U (v) (u,v) for Branch Edge (parent-child side)}

A vertex u is a cut point, when and only if satisfies (1) or (2) (1) U is a root, and U has more than one subtree. (2) U is not a root, and satisfies the presence (U,V) as a branch edge (or parent-child edge, that is, U is the father of V in the search tree), Making DFS (U) <=low (v).

A non-u,v is a bridge, when and only if (U,V) is a branch edge, and satisfies the DFS (u) <low (v).

[Find a double connected branch]

The next part is to discuss the two-connected branch and the edge of the two-connected branch of the method.

For the point double connected branch, in fact in the process of finding a cut point can be in the way of each point two connected branches to find out. Create a stack that stores the current two connected branches and, when searching for a graph, adds the edge to the stack by finding a branch or back edge (not a cross-border). If a DFS (U) <=low is encountered at some time, it means that U is a cut point, and the edges are removed from the top of the stack at the same time, until an edge (U,V) is encountered, and the points that are taken out of these edges are connected to each other, forming a point-double-connected branch. A cut point can belong to multiple points of two connected branches, and the remaining points and each edge belong to and belong to only one point double connected branch.

For the side double connected branch, the method is easier to find. Just after all the bridges have been found, the bridge edge is removed and the original image becomes a plurality of connected blocks, and each connected block is a double connected branch of the edge. The bridge does not belong to any one-side double-connected branch, and the rest of the edges and each vertex belong to and belong to only one edge, two connected branches.

[Construct a double connected graph]

A connected graph with a bridge, how to turn it into a double connected graph by adding edge? The method is to first find all the bridges and then delete the bridge edges, and each of the remaining connected blocks is a double-connected sub-graph. Each double-connected sub-graph is shrunk to a vertex, and then the bridge is added back, the last figure must be a tree, the edge connectivity is 1.

The number of nodes in the tree is 1, that is, the number of leaf nodes, which is recorded as Leaf. Then at least add (leaf+1)/2 edges to the tree to make the tree reach the edge two, so at least the number of edges added is (leaf+1)/2. The method is to first connect an edge between the two nearest common ancestor's two leaf nodes, so that the two points can be shrunk to the path of the ancestors, because a formed ring must be double connected. Then find the two nearest public ancestor the furthest two leaf nodes, so that a pair to find out, happens to be (leaf+1)/2 times, all the points are shrunk together.

[Examples of double connectivity problems of graphs]

The alternate switch is the cut point of the graph, and the output is direct.

PKU 3177 (3352) redundant Paths for bridge, contraction edge double-connected sub-graph, the construction of two-connected edge graph.

POI 1999 Warehouse Administrator Store-keeper to find a double connected sub-graph.

The cutting point, the bridge and the double connected branch of the graph

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.