Beruflich Dokumente
Kultur Dokumente
These slides are based on the Lecture Notes by David Mount for the course CMSC 451 at the University of Maryland. The Copyright
notice is as follows:
Copyright, David M. Mount, 2008 Dept. of Computer Science, University of Maryland, College Park, MD, 20742. These lecture notes
were prepared by David Mount for the course CMSC 451, Design and Analysis of Computer Algorithms, at the University of
Maryland. Permission to use, copy, modify, and distribute these notes for educational purposes and without fee is hereby granted,
provided that this copyright notice appear in all copies.
Articulation Point
Let G = (V,E) be a connected undirected graph.
Articulation Point: is any vertex of G whose removal results
in a disconnected graph.
Articulation Point
Articulation Point: is any vertex of G whose removal results
in a disconnected graph.
Biconnected components
Two edges are cocyclic if they are equal or if there is a simple cycle
that contains both edges. (Two different ways of getting from one
edge to the other)
This defines an equivalence relation on the edges of the graph
Biconnected components
Assume G is connected
internal vertex u
Consider an internal vertex u
Not a leaf,
Assume it is not the root
internal vertex u
What if u is a leaf
A leaf is never an articulation point
A leaf has no subtrees..
This root is an
articulation point
Keep track of the back edge that goes highest in the tree
(closest to the root)
If any back edge goes to an ancestor of u, this one will.
Define Low[u]
Low[u]: minimum of d[u]
and
{d[w] | where (v,w) is a back edge and v is a (nonproper)
descendent of u.}
Computing Low[u]
Initialization:
Low[u] = d[u]
DFS(G)
for each (u in V) do
color[u] = white
pred[u] = NIL
time = 0
for each (u in V) do
if (color[u] == white)
findArticPts(u)
d=1 a Low = 1
2 b 1
3 c 1
8 e 8
9
10
4 d 3
5 h 3
6
g 3
7 f 1