Question: Let G = (V, E) be a connected, undirected graph. (In this course we follow the usual convention that, unless indicated otherwise, an undirected graph

Let G = (V, E) be a connected, undirected graph. (In this course we follow the usual convention that, unless indicated otherwise, an undirected graph does not have loops or multiple edges.) As usual n = |V| and m = |E|. An articulation point of G is a vertex whose removal disconnects G. As we saw in class, if you run DFS on G, then (because G is connected) the outer routine will have to make only one call Explore(G, r) for some vertex r, after which all vertices will be visited. The "tree" edges created in this process form a spanning tree T of G rooted at r. Prove that r is an articulation point if and only if it has at least two children in T. Let v notequalto r. The ancestors of v are the vertices on the simple path in T from v to r, inclusive. Proper ancestors exclude v. The descendants of v are those which have v as an ancestor. Prove that v is an articulation point if and only if there is a child s of v in T, such that no descendant of s has a back edge to a proper ancestor of v. Let low(v) = min{pre(w): exist descendant u of v such that (u, w) is a back edge}. Show how to compute all low(v) in time O(m). Show how to compute all articulation points in time O(m). Runtimes in this problem are in the word model (basic arithmetic etc. is in unit time)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
