feat(graph): Add Edmonds's algorithm for minimum spanning arborescence #6771
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.
Description
Closes #6755
This PR adds a complete implementation of Edmonds's algorithm for finding the Minimum Spanning Arborescence in a directed graph.
The implementation follows the project's coding standards and includes:
finalutility classEdmonds.javawith a private constructor.EdmondsTest.javafile with thorough JUnit 5 tests covering various scenarios, including simple graphs, graphs with cycles, unreachable nodes, and invalid inputs.Gifs/Screenshots (if applicable)
N/A
Checklist