What is it about?

Mathematical software and graph-theoretical algorithmic packages to efficiently model, analyze, and query graphs are crucial in an era where large-scale spatial, societal, and economic network data are abundantly available. One such package is JGraphT, a programming library that contains very efficient and generic graph data structures along with a large collection of state-of-the-art algorithms. A distinctive feature of this library is its ability to model vertices and edges as arbitrary objects, thereby permitting natural representations of many common networks, including transportation, social, and biological networks.

Featured Image

Why is it important?

Graph-theoretical problems are regularly encountered in such diverse areas as network security, computational biology, logistics/planning, psychology, chemistry, and linguistics. Despite the vast diversity in graph applications across different fields, their underlying mechanics inevitably rely on the same fundamental mathematical techniques and solution approaches. Libraries like JGraphT that can efficiently model, store, manipulate, and query graphs have become indispensable for engineers and data scientists alike. Due to its versatility and generic design, JGraphT is currently used in large-scale commercial products, as well as noncommercial and academic research projects. We describe in detail the design and underlying structure of the library, and discuss its most important features and algorithms. A computational study is conducted to evaluate the performance of JGraphT versus several similar libraries. Experiments on a large number of graphs over a variety of popular algorithms show that JGraphT is highly competitive with other established libraries such as NetworkX or the BGL.


JGraphT is a feature rich, efficient graph library. It has been in development for many years and it is mature enough to be used in all kinds of workloads. Its interface is well-designed and easy to use, while its performance is top-notch. It has a very large collection of state-of-the-art graph algorithms, which can help engineers and scientists model and solve real-world problems.

Dimitrios Michail
Harokopio University of Athens

Read the Original

This page is a summary of: JGraphT—A Java Library for Graph Data Structures and Algorithms, ACM Transactions on Mathematical Software, June 2020, ACM (Association for Computing Machinery),
DOI: 10.1145/3381449.
You can read the full text:




The following have contributed to this page