-
Notifications
You must be signed in to change notification settings - Fork 430
feat: Connectivity Algorithms #738
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
base: master
Are you sure you want to change the base?
Conversation
add algorithm to find cut edges (bridges) --------- Co-authored-by: Maycon Sambinelli <msambinelli@gmail.com>
|
Regarding the bridge finding algorithm, there is another PR, which implemented such an algorithm. I compared the performance of this implementation to the one suggested in the other PR, and the other implementation seems to be 2-7 times faster. The benchmark setup can be found here. I just added a The results from this implementation are: While the results of the implementation from the other PR are: Note that in order to be able to run the benchmarks with the other PR, I had to rebase. The setup of the same benches/bridges.rs file can be found here. |
Add Connectivity Algorithms
Algorithms:
References:
The algorithm to find Bridges was inspired by the following Program from the book Algorithms in C, Third Edition, Part 5, by Robert Sedgewick, adapted to Rust and to use Petgraph traits, also transformed into an iterative algorithm instead of a recursive one.
The other connectivity algorithms in the PR are adaptations of it.