JGraphT -- A Java library for graph data structures and algorithms

04/17/2019
by   Dimitrios Michail, et al.
0

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 which contains very efficient and generic graph data-structures along with a large collection of state-of-the-art algorithms. The library is written in Java with stability, interoperability and performance in mind. A distinctive feature of this library is the ability to model vertices and edges as arbitrary objects, thereby permitting natural representations of many common networks including transportation, social and biological networks. Besides classic graph algorithms such as shortest-paths and spanning-tree algorithms, the library contains numerous advanced algorithms: graph and subgraph isomorphism; matching and flow problems; approximation algorithms for NP-hard problems such as independent set and TSP; and several more exotic algorithms such as Berge graph detection. Due to its versatility and generic design, JGraphT is currently used in large-scale commercial, non-commercial and academic research projects. In this work 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 a number of 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/19/2023

Graph4J – A computationally efficient Java library for graph algorithms

Graph algorithms play an important role in many computer science areas. ...
research
01/02/2020

Using Nesting to Push the Limits of Transactional Data Structure Libraries

Transactional data structure libraries (TDSL) combine the ease-of-progra...
research
01/01/2022

Asymptotic Experiments with Data Structures: Bipartite Graph Matchings and Covers

We consider instances of bipartite graphs and a number of asymptotic per...
research
03/27/2019

Import2vec - Learning Embeddings for Software Libraries

We consider the problem of developing suitable learning representations ...
research
01/28/2012

Implementation of exponential and parametrized algorithms in the AGAPE project

This technical report describes the implementation of exact and parametr...
research
12/05/2022

Collabs: Composable Collaborative Data Structures

Replicated data types (RDTs), such as Conflict-free Replicated Data Type...
research
05/17/2018

Generic Deriving of Generic Traversals

Functional programmers have an established tradition of using traversals...

Please sign up or login with your details

Forgot password? Click here to reset