Skip to content
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

implement bellman ford algorithm to find shortest path with negative weights #155

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

jhsinger-klotho
Copy link

attempting to resolve #145

Implementing bellman ford algorithm for shortest path to include calculations of negative weights in a weighted graph.

The bellman ford algorithm will be run in ShortestPath when we have detected the algorithm is being run on a directed graph.

Algorithm will return an ErrTargetNotReachable if there is no path.

Because ShortestPath is a single source + target, performance lends itself to bellman ford (O(|V||E|)) in this scenario, so decided to implement that rather than johnsons algorithm (O(|V||E|+|V|^2log(|V|))).

Added unit tests to the bellman ford specific method and a single addition to shortestPath to test when the graph is directed

@dominikbraun dominikbraun self-requested a review October 13, 2023 11:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Shortest Path Doesn't Support Negative Edge Weights Properly
1 participant