Java library that provides graph data-structures and algorithms.
JGraphT has served as the de facto standard Java graph data structure and algorithm library for more than a decade, and its activity levels and popularity have continued to grow over the years. But graph theory is a fertile and expansive field, so there's always more to do! By contributing to JGraphT, you'll be powering the projects of many academic researchers and industry developers now and in the future, and gaining real-world development experience for yourself.
Most of the projects on our ideas list are algorithm implementations or improvements. After ramping up on general familiarity with JGraphT, carrying out a project typically involves
- reading relevant research papers
- studying existing portions of our codebase
- discussing approaches with mentors and the rest of the community
- developing and testing an implementation in your own github branch
- submitting a pull request for review
- responding to code review comments
- over and over until...
- your pull request gets merged into trunk and eventually released!
- and then you get your first bug report :)
For larger projects, the work may need to be broken up into a series of pull requests.
JGraphT 2018 Projects
Enhanced support for treesJGraphT currently lacks proper support for trees (i.e. simple, undirected, connected, acyclic graphs). Sure, all algorithms that work on undirected...
Kolmogorov's Blossom V algorithm for solving minimum weight perfect matching problem in general graphsThis project is focused on developing an implementation of the Kolmogorov's Blossom V algorithm for minimum weight perfect matching, which is a known...