May 26, 2018
Java package for mathematical graph-theory objects and algorithms
JGraphT is a free Java graph library that provides mathematical graph-theory objects and algorithms. JGraphT supports various types of graphs including * directed and undirected graphs. * graphs with weighted / unweighted / labeled or any user-defined edges. * various edge multiplicity options, including simple-graphs, multigraphs, pseudographs. * unmodifiable graphs - allow modules to provide “read-only” access to internal graphs. * listenable graphs - allow external listeners to track modification events. * subgraphs graphs that are auto-updating subgraph views on other graphs. * all compositions of above graphs.
Although powerful, JGraphT is designed to be simple. For example, graph vertices can be of any objects. You can create graphs based on Strings, URLs, XML documents, etc; you can even create graphs of graphs!