Let's you have a graph with n nodes and m bi-directional edges. (n, m <= 1e5). How would I get the cycles in this graph in an efficient way using DFS.
BTW, I've linked an image where I drew what I thought is a cycle. If it's not a cycle, please tell me what a cycle actually is.
Auto comment: topic has been updated by tgp07 (previous revision, new revision, compare).
Auto comment: topic has been updated by tgp07 (previous revision, new revision, compare).
Auto comment: topic has been updated by tgp07 (previous revision, new revision, compare).
I can't open your link. I'm not sure what you mean 'cycle'.
But actually for a graph, there can be 2 ^ v cycles.
Auto comment: topic has been updated by tgp07 (previous revision, new revision, compare).
A graph contains a cycle if during a graph traversal, we find a node whose neighbor (other than the previous node in the current path) has already been visited.
Do you know how to go about getting the lengths of a cycle?
The length of the cycle is the difference in heights of those two nodes on the DFS tree, plus one (for the edge going back up the DFS tree)
Thanks, this makes sense.