-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ALGO] Kosaraju's Algorithm #115
Comments
Hi there - happy to take a look at this one if it's still available. If this issue could be assigned to me that would be great. |
Hi, of course! Looking forward to your contribution! |
Thanks! If I recall correctly Kosaraju's uses a transposed version of the graph for the second DFS traversal. Do you think it makes sense to add a |
Hi, great idea! Maybe we can add it as a free function as one of our design goals is to keep the graph interface as clean as possible |
That sounds great, will do! |
Kosaraju's Algorithm
Kosaraju's algorithm identifies the strongly connected components (SCCs) in a directed graph. A strongly connected component is a subgraph in which there is a path from every vertex to every other vertex. The algorithm uses two depth-first searches to identify these components.
When possible, it would be nice to see if we can reuse the existing DFS functionality in
algorithm/graph_traversal/depth_first_search.h
.For more details, see the wikipedia entry.
Syntax
The algorithm should have the following syntax:
This should live in the
graaf::algorithm
namespace underinclude/graaflib/algorithm/strongly_connected_components/kosarajus.h
.Definition of Done
This issue is done when:
test/graaflib/algorithm/strongly_connected_components/kosarajus_test.cpp
docs/docs/algorithms
under the appropriate categoryREADME.md
The text was updated successfully, but these errors were encountered: