-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
feat: implement improved shortest path algorithm based on arXiv:2504.... #915
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
Open
wendelmax
wants to merge
2
commits into
TheAlgorithms:master
from
wendelmax:feature/improved-shortest-path-algorithm
Open
feat: implement improved shortest path algorithm based on arXiv:2504.... #915
wendelmax
wants to merge
2
commits into
TheAlgorithms:master
from
wendelmax:feature/improved-shortest-path-algorithm
+728
−0
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
...17033 - Add improved_shortest_path: optimized Dijkstra with reduced sorting overhead - Add bucket_shortest_path: O(E + V) algorithm for small integer weights - Add adaptive_shortest_path: hybrid approach that chooses best algorithm - Include comprehensive documentation with paper references - Add 9 comprehensive tests covering various scenarios - Update DIRECTORY.md to include new algorithm - Export functions in graph module This implementation demonstrates how to break the sorting barrier described in 'Breaking the Sorting Barrier for Directed Single-Source Shortest Paths' paper, providing significant performance improvements for graphs with small integer weights.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@ ## master #915 +/- ## ========================================== + Coverage 95.33% 95.37% +0.03% ========================================== Files 319 320 +1 Lines 20890 21295 +405 ========================================== + Hits 19916 20310 +394 - Misses 974 985 +11 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
...rithms - Add tests for Zero trait implementations - Add tests for VertexDistance ordering behavior - Add edge case tests for empty graphs and disconnected vertices - Add tests for bucket algorithm with weight limits - Add tests for adaptive algorithm threshold behavior - Add tests for priority queue behavior and visited vertex skipping - Add tests for different numeric types (u32, i64) - Add tests for bucket algorithm with empty buckets - Increase test coverage from 90.31% to target coverage
@wendelmax
wendelmax
force-pushed
the
feature/improved-shortest-path-algorithm
branch
from
September 27, 2025 22:37
729f6df to
e44a006
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
...17033
This implementation demonstrates how to break the sorting barrier described in 'Breaking the Sorting Barrier for Directed Single-Source Shortest Paths' paper, providing significant performance improvements for graphs with small integer weights.
Pull Request Template
Description
Please include a summary of the change and which issue (if any) is fixed.
A brief description of the algorithm and your implementation method can be helpful too. If the implemented method/algorithm is not so
well-known, it would be helpful to add a link to an article explaining it with more details.
Type of change
Please delete options that are not relevant.
Checklist:
cargo clippy --all -- -D warningsjust before my last commit and fixed any issue that was found.cargo fmtjust before my last commit.cargo testjust before my last commit and all tests passed.mod.rsfile within its own folder, and in any parent folder(s).DIRECTORY.mdwith the correct link.COUNTRIBUTING.mdand my code follows its guidelines.Please make sure that if there is a test that takes too long to run ( > 300ms), you
#[ignore]that ortry to optimize your code or make the test easier to run. We have this rule because we have hundreds of
tests to run; If each one of them took 300ms, we would have to wait for a long time.