Recall that in the algorithm for computing the strongly connected components (SCCs) of a graph G = (V, E), the second DFS on the transpose GT processes the nodes in decreasing order of their finishing time (w.r.t. the first DFS). Define an ordering V1,... ,Vn of the vertices of G to be cool if:
- the vertices can be split up into k groups corresponding to the k SCCs of G by appropriately inserting k - 1 separators, i.e., if there exist i1,...,ik-1 such that the SCCs are {U1,...,Vi1},{Vi1+1,...,Vi2},...,{Vik-1+1,...,Vn}, and
- the k groups are in topological order (w.r.t. the SCC graph).
For example, assume G has vertices V = {a,b,c,d,e} and edges E = {(a,c),(c,a),(a,d)} U {(b,e),(e,b),(b,d)}. Then, G has SCCs C1 = {a,c}, C2 ={b,e}, and C3 = {d}. Moreover, the SCC graph of G has edges {(C1,C3),(C2,C3)}. Hence, a,c,e,b,d and b,e,a,c,d are examples of cool orderings, whereas b, a, c, d, e and a, b, c, d, e are uncool.
(4 points) Prove or disprove: sorting the vertices in decreasing order of their finishing time is always cool.
DFS trees are the SCCs of G.