Skip to content

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

Open
jhsinger-klotho wants to merge 5 commits into
dominikbraun:mainfrom
klothoplatform:shortest_path_negative_weights
Open

implement bellman ford algorithm to find shortest path with negative weights#155
jhsinger-klotho wants to merge 5 commits into
dominikbraun:mainfrom
klothoplatform:shortest_path_negative_weights

Conversation

@jhsinger-klotho

Copy link
Copy Markdown

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