CS 1501 Biconnected Components
Using the
same original graph as in previous handout
DFS Spanning
Tree with DFS numbers (in nodes) and min values (outside nodes) for each vertex.�
When given a choice, lower alphabetical neighbor of the current node is
chosen first.
The articulation points on this graph are those vertices whose DFS numbers are <= the min values of ANY of their descendents in the DFS tree.� As we discussed in lecture, this indicates that the descendents cannot reach any nodes HIGHER in the DFS tree EXCEPT through the parent node � i.e. the only path to the rest of the tree is through the parent node, so the parent node is an articulation point.� In the graph above we can see 3 articulation points based on this definition: E (since G and H have min numbers of 7), F (since C and D have min numbers of 3), and D (since I has a min number of 5).� Note that A is also an articulation point, but by a different definition, as explained below.
Root Special Case:
If you think about it, you will realize that the DFS number of the root will always be 1 and that any descendent of the root will have a min reachable number >= 1.� By our previous definition, this would always make the root of the DFS tree an articulation point.� However, the root in fact is only an articulation point if it has 2 or more children in the DFS tree.� The only way the root will have 2 or more children is if the DFS algorithm had to backtrack to the root and proceed again to another of the root's children.� But if there were an alternate path to the other child, the backtracking would never reach the root � we would take a different path.� Thus, the root having 2 or more children means that the only way from one child to the other child is through the root, and the root is an articulation point.