According to the definition available in CLRS 3rd edition, a singly connected directed graph is the one where for every pair of vertices (u,v) there is at most 1 unique path from u->v. Now most of the answers that I have read, state that we run DFS from every vertex in the graph and if in any case we find a Cross edge or a Forward edge, then the graph is not singly connected. I can understand the concept for forward edges, but running this algo on this graph
1 --> 2 <-- 3 will give us the result that it is NOT singly connected whereas this graph is singly connected. We have a cross edge from 3 -> 2 or 1 -> 2 depending upon which vertext started this entire procedure (1 or 3) . If we start the DFS from vertex 2, then we have 2 cross edges 1 -> 2 and 3 -> 2.Can anyone clarify please ?