All Classes and Interfaces

Class
Description
The most general implementation of the Graph interface.
This is an abstract class for capacitated minimum spanning tree algorithms.
A base implementation for the computation of a fundamental cycle basis of a graph.
A skeletal implementation of the Graph interface, to minimize the effort required to implement graph interfaces.
Base class for builders of Graph
An empty implementation of a graph iterator to minimize the effort required to implement graph iterators.
AbstractImmutableBigGraphAdapter<E extends it.unimi.dsi.fastutil.longs.LongLongPair>
An abstract base class for adapters using WebGraph (big)'s ImmutableGraph.
AbstractImmutableGraphAdapter<E extends it.unimi.dsi.fastutil.ints.IntIntPair>
An abstract base class for adapters using WebGraph's ImmutableGraph.
An abstract base class for all succinct directed implementations.
Iterates over the cumulative degrees (starts with a zero).
Turns all edges x → y into a monotone sequence using the encoding x2⌈log n + y, or the encoding xn + y - e, where e is the index of the edge in lexicographical order, depending on the value of the strict parameter.
An abstract base class for all succinct implementations.
An abstract base class for all succinct undirected implementations.
Iterates over the cumulative degrees (starts with a zero).
Turns all edges x — y, x ≤ y, into a monotone sequence using the encoding x2⌈log n + y, or all edges x — y, x ≥ y, using the encoding xn + y - e, where e is the index of the edge in lexicographical order, depending on the value of the sorted parameter.
Predict links using the Adamic-Adar Index.
This is an implementation of the AHU algorithm for detecting an (unweighted) isomorphism between two rooted forests.
Implementation of an algorithm for the capacitated minimum spanning tree problem using a cyclic exchange neighborhood, based on Ravindra K.
Implementation of an algorithm for the local augmentation problem for the cyclic exchange neighborhood, i.e.
This is an implementation of the AHU algorithm for detecting an (unweighted) isomorphism between two rooted trees.
This is an implementation of the AHU algorithm for detecting an (unweighted) isomorphism between two unrooted trees.
The alias method for sampling from a discrete probability distribution.
A Dijkstra-like algorithm to find all paths between two sets of nodes in a directed graph, with options to search only simple paths and to limit the path length.
An admissible heuristic for the A* algorithm using a set of landmarks and the triangle inequality.
Betweenness centrality with arbitrary precision arithmetic.
Helper for efficiently representing small sets whose elements are known to be unique by construction, implying we don't need to enforce the uniqueness property in the data structure itself.
An edge set factory which creates ArrayUnenforcedSet of size 1, suitable for small degree vertices.
Utility class to simplify handling of arrays.
Read-only union of two graphs.
A subgraph is a graph that has a subset of vertices and a subset of edges with respect to some base graph.
Create a synchronized (thread-safe) Graph backed by the specified Graph.
A builder for AsSynchronizedGraph.
Interface for an admissible heuristic used in A* search.
A* shortest path.
An undirected view of the backing directed graph specified in the constructor.
An unmodifiable view of the backing graph specified in the constructor.
Provides an unweighted view on a graph.
Provides a weighted view of a graph.
An attribute
Denotes the type of an attribute.
Implementation of the AVL tree data structure.
Container holding the values stored in the tree.
Barabási-Albert growth and preferential attachment forest generator.
Barabási-Albert growth and preferential attachment graph generator.
The barycenter heuristic greedy algorithm for edge crossing minimization in two layered bipartite layouts.
Implementation of the 2-opt algorithm for a minimum weighted vertex cover by R.
Base class for the bidirectional shortest path algorithms.
Base implementation for an importer which uses consumers to notify interested parties.
Base implementation for an exporter.
BaseGraphAdapter<V,G extends com.google.common.graph.Graph<V>>
A base abstract implementation for the graph adapter class using Guava's Graph.
BaseIntrusiveEdgesSpecifics<V,E,IE extends org.jgrapht.graph.IntrusiveEdge>
A base implementation for the intrusive edges specifics.
BaseNetworkAdapter<V,E,N extends com.google.common.graph.Network<V,E>>
A base abstract implementation for the graph adapter class using Guava's Network.
BaseValueGraphAdapter<V,W,VG extends com.google.common.graph.ValueGraph<V,W>>
A base abstract implementation for the graph adapter class using Guava's ValueGraph.
The Bellman-Ford algorithm.
Tests whether a graph is perfect.
Betweenness centrality.
Strategy followed when counting paths.
The BFS Shortest Path algorithm.
An implementation of Bhandari algorithm for finding $K$ edge-disjoint shortest paths.
Allows obtaining various connectivity aspects of a graph.
A bidirectional version of A* algorithm.
A bidirectional version of Dijkstra's algorithm.
Algorithm for computing lowest common ancestors in rooted trees and forests using the binary lifting method.
This class represents a bipartite matching problem.
Default implementation of a Bipartite Matching Problem
Algorithm for computing bipartite partitions thus checking whether a graph is bipartite or not.
A Block-Cutpoint graph (also known as a block-cut tree).
BlossomVOptions that define the strategies to use during the algorithm for updating duals and initializing the matching
Enum for choosing dual updates strategy
Enum for types of matching initialization
Borůvka's algorithm for the computation of a minimum spanning tree.
A 2-dimensional box (rectangle).
A collection of utilities to assist with boxes manipulation.
An implementation of the Boyer-Myrvold planarity testing algorithm.
This is an implementation of the Boykov-Kolmogorov maximum flow algorithm.
A breadth-first iterator for a directed or undirected graph.
Data kept for discovered vertices.
Bron-Kerbosch maximal clique enumeration algorithm.
Brown graph coloring algorithm.
An algorithm which computes a capacitated (minimum) spanning tree of a given connected graph with a designated root vertex.
A spanning tree.
Default implementation of the spanning tree interface.
This class computes a solution to a minimum cost flow problem using the successive shortest path algorithm with capacity scaling.
This class solves the Chinese Postman Problem (CPP), also known as the Route Inspection Problem.
Efficient algorithm for the many-to-many shortest paths problem based on contraction hierarchy.
Allows obtaining a mapping of all minimal vertex separators of a graph to their multiplicities
Tests whether a graph is chordal.
Specifies internal iterator type.
A $3/2$-approximation algorithm for the metric TSP problem.
Circular layout.
Implementation of the 2-opt algorithm for a minimum weighted vertex cover by Clarkson, Kenneth L.
Algorithm to compute a (weighted) Clique in a graph.
Default implementation of a (weighted) clique
Clique Minimal Separator Decomposition using MCS-M+ and Atoms algorithm as described in Berry et al.
Closeness centrality.
A closest-first iterator for a directed or undirected graph.
An algorithm which computes a graph vertex clustering.
A clustering.
Default implementation of the clustering interface.
Clustering coefficient.
Utility class to create Collection instances.
Color refinement algorithm that finds the coarsest stable coloring of a graph based on a given alpha coloring as described in the following paper: C.
Implementation of the color refinement algorithm isomorphism test using its feature of detecting isomorphism between two graphs as described in C.
Predict links using the number of common neighbors.
Generator which produces the complement graph of a given input graph.
Generates a complete bipartite graph of any size.
Demonstrates how to create a complete graph and perform a depth first search on it.
Generates a complete graph of any size.
Utility class to manage creation and shutting down instance of the ThreadPoolExecutor.
A traversal event with respect to a connected component.
Allows obtaining various connectivity aspects of a graph.
Implementation of the hierarchical query algorithm based on the bidirectional Dijkstra search.
Edge for building the contraction hierarchy.
Return type of this algorithm.
Vertex for building the contraction hierarchy, which contains an original vertex from graph.
Computes the coreness of each vertex in an undirected graph.
Provides a cross-connected-component traversal functionality for iterator subclasses.
Imports a graph from a CSV Format or any other Delimiter-separated value format.
Exports a graph into a CSV Format or any other Delimiter-separated value format.
Supported CSV formats.
Parameters that affect the behavior of CVS importers/exporters.
Imports a graph from a CSV Format or any other Delimiter-separated value format.
Allows to derive an undirected cycle basis of a given graph.
An undirected cycle basis.
Default implementation of the undirected cycle basis interface.
Performs cycle detection on a graph.
Collection of helper methods related to cycles.
Default implementation of an attribute.
The default implementation of a directed graph.
The default implementation of a directed weighted graph.
A default implementation for edges in a Graph.
Default implementation of an edge function which uses a map to store values.
The default implementation of the graph iterables which simply delegates to the set implementations.
Implementation of the GraphMapping interface.
A default lookup specifics strategy implementation.
Default implementation of the graph type.
A builder for DefaultGraphType.
A graph backed by the the graph specified at the constructor, which can be listened by GraphListener s and by VertexSetListener s.
Naive algorithm for many-to-many shortest paths problem using.
The default implementation of an undirected graph.
The default implementation of an undirected weighted graph.
A default implementation for edges in a weighted graph.
Bron-Kerbosch maximal clique enumeration algorithm with pivot and degeneracy ordering.
A degeneracy ordering iterator.
Parallel implementation of a single-source shortest path algorithm: the delta-stepping algorithm.
This implementation of Edmonds' blossom algorithm computes maximum cardinality matchings in undirected graphs.
This class is a demonstration program for creating a dependency chart, directed graph, then locating and outputting any implicit loops, cycles.
A depth-first iterator for a directed or undirected graph.
Standard vertex visit state enumeration.
Naive algorithm for many-to-many shortest paths problem using DijkstraClosestFirstIterator.
An implementation of Dijkstra's shortest path algorithm using a pairing heap by default.
A generic importer using consumers for DIMACS format.
Exports a graph into DIMACS format.
Parameters that affect the behavior of the DIMACSExporter exporter.
DIMACS challenge format.
Imports a graph specified in DIMACS format.
Implementation of <a href = "https://en.wikipedia.org/wiki/Dinic%27s_algorithm">Dinic algorithm</a> with scaling for <a href = "https://en.wikipedia.org/wiki/Maximum_flow_problem"maximum"maximum flow problem</a>.
A directed acyclic graph (DAG).
An inclusive range of indices: [start, finish].
An interface for storing the topological ordering.
A dual map implementation of the topological order map.
A visited strategy using an array.
A visited strategy using an ArrayList.
A visited strategy which uses a BitSet.
A visited strategy using a HashSet.
A strategy for marking vertices as visited.
A visited strategy factory.
A container for vertex edges.
This class demonstrates some of the operations that can be performed on directed graphs.
A directed multigraph.
A directed pseudograph.
A generator for directed scale-free graphs.
A common interface for classes implementing algorithms for enumeration of the simple cycles of a directed graph.
Plain implementation of DirectedSpecifics.
A directed weighted multigraph.
A directed weighted pseudograph.
Distributes value units among keys given lower and upper bound constraints.
Import a graph from a DOT file.
Exports a graph into a DOT file.
Import a graph from a DOT file.
DoublyLinkedList implements a doubly linked List data structure, that exposes its ListNodes where the data is stored in.
Container for the elements stored in a DoublyLinkedList.
An extension of the ListIterator interface for DoublyLinkedLists exposing their ListNodes.
An extension of the Iterator interface for DoublyLinkedLists exposing their ListNodes.
This class computes a Dulmage-Mendelsohn Decomposition of a bipartite graph.
The output of a decomposition operation
Finds a 2-approximation for a minimum vertex cover A vertex cover is a set of vertices that touches all the edges in the graph.
Edge betweenness centrality.
Strategy followed when counting paths.
Provides an edge-reversed view $g'$ of a directed graph $g$.
An interface for all algorithms which assign scores to edges of a graph.
A factory for edge sets.
A traversal event for a graph edge.
This class computes a maximum flow in a flow network using Edmonds-Karp algorithm.
Eigenvector-centrality implementation.
Represents the method of ensuring the existence of a total order of a set of elements.
Element order method type
Generates elements from the input collection in random order.
Generates an empty graph of any size.
Implementation of the Eppstein`s algorithm for finding $k$ shortest path between two vertices in a graph.
Iterator over the shortest paths (not required to be simple) between two vertices in a graph sorted by weight.
Implementation of a randomized version of the Esau-Williams heuristic, a greedy randomized adaptive search heuristic (GRASP) for the capacitated minimum spanning tree (CMST) problem.
Computes an Eulerian cycle of an Eulerian graph.
Algorithm for computing lowest common ancestors in rooted trees and forests based on Berkman, Omer; Vishkin, Uzi (1993), "Recursive Star-Tree Parallel Data Structure", SIAM Journal on Computing, 22 (2): 221–242, doi:10.1137/0222017.
Interface for an importer using consumers.
An exception that the library throws in case of graph export errors.
Class which represents an abstract extension/encapsulation object.
Factory class which creates extension/encapsulation objects
Convenience class to manage extensions/encapsulations.
Fast implementation of DirectedSpecifics.
The fast lookup specifics strategy implementation.
Fast implementation of UndirectedSpecifics.
The fast lookup specifics strategy implementation using fastutil maps for storage..
A specifics strategy implementation using fastutil maps for storage specialized for integer vertices.
A specifics strategy implementation using fastutil maps for storage.
A specifics strategy implementation using fastutil maps for storage specialized for integer vertices.
A graph implementation using fastutil's map implementations for storage.
A graph implementation using fastutil's map implementations for storage specialized for integer vertices.
Primitive but efficient implementation of a fixed size queue for integers.
Interface for flow algorithms
Represents a flow.
Default implementation of FlowAlgorithm.Flow
The Floyd-Warshall algorithm.
Fruchterman and Reingold Force-Directed Placement Algorithm.
A general interface for a temperature model.
Computes the strongly connected components of a directed graph.
Generator for Generalized Petersen Graphs The Generalized Petersen graphs $GP(n,k)$ are a family of cubic graphs formed by connecting the vertices of a regular polygon (cycle graph $C_n$) to the corresponding vertices of a star polygon ${n,k}$.
Attribute types supported by GEXF.
Exports a graph as GEXF (Graph Exchange XML Format).
Denotes the category of a GEXF-Attribute.
Parameters that affect the behavior of the exporter.
The Girvan-Newman clustering algorithm.
Imports a graph from a GML file (Graph Modeling Language).
Exports a graph into a GML file (Graph Modeling Language).
Parameters that affect the behavior of the GmlExporter exporter.
Imports a graph from a GML file (Graph Modeling Language).
Create a random bipartite graph based on the $G(n, M)$ Erdős–Rényi model.
Create a random graph based on the $G(n, M)$ Erdős–Rényi model.
Create a random bipartite graph based on the $G(n, p)$ Erdős–Rényi model.
Create a random graph based on the $G(n, p)$ Erdős–Rényi model.
This class computes a maximum density subgraph based on the algorithm described by Andrew Vladislav Goldberg in Finding Maximum Density Subgraphs, 1984, University of Berkley.
This abstract base class computes a maximum density subgraph based on the algorithm described by Andrew Vladislav Goldberg in Finding Maximum Density Subgraphs, 1984, University of Berkley.
This class computes a maximum density subgraph based on the algorithm described by Andrew Vladislav Goldberg in Finding Maximum Density Subgraphs, 1984, University of Berkley.
This class computes a maximum density subgraph based on the algorithm described by Andrew Vladislav Goldberg in Finding Maximum Density Subgraphs, 1984, University of Berkley.
The root interface in the graph hierarchy.
Importer which reads graphs in graph6 or sparse6 format.
Exporter which exports graphs in graph6 or sparse6 format.
Format type: graph6 (g6) or sparse6(s6)
Importer which reads graphs in graph6 or sparse6 format.
GraphBuilder<V,E,G extends Graph<V,E>>
A builder class for Graph.
Demonstrates how to use GraphTypeBuilder and GraphBuilder.
An event which indicates that a graph has changed.
Exception indicating that the vertexes supplied to DirectedAcyclicGraph would cause a cycle.
A graph backed by the the graph specified at the constructor, which delegates all its methods to the backing graph.
An event which indicates that a graph edge has changed, or is about to change.
Interface for graph exporters
An interface for generating new graph structures.
Interface for graph importers
Presents a graph as a collection of views suitable for graphs which contain a very large number of vertices or edges.
A graph iterator.
A listener that is notified when the graph changes.
GraphMapping represents a bidirectional mapping between two graphs (called graph1 and graph2), which allows the caller to obtain the matching vertex or edge in either direction, from graph1 to graph2, or from graph2 to graph1.
Algorithm class which computes a number of distance related metrics.
Collection of methods which provide numerical graph information.
This class demonstrates exporting and importing a graph with custom vertex and edge attributes in GraphML.
Imports a graph from a GraphML data source.
Exports a graph as GraphML.
Denotes the category of a GraphML-Attribute.
Imports a graph from a GraphML data source.
A GraphPath represents a path in a Graph.
A collection of utilities to assist with graph manipulation.
A graph specifics construction factory.
A collection of utilities to test for various graph properties.
A graph type.
A builder class for the hierarchy of Graphs that the library provides.
An event which indicates that a graph vertex has changed, or is about to change.
A walk in a graph is an alternating sequence of vertices and edges, starting and ending at a vertex, in which each edge is adjacent in the sequence to its two endpoints.
The greedy coloring algorithm.
The greedy heuristic algorithm for the TSP problem.
The greedy algorithm for computing a maximum cardinality matching.
Greedy algorithm for $(2k-1)$-multiplicative spanner construction (for any integer k >= 1).
Greedy algorithm to find a vertex cover for a graph.
The greedy algorithm for computing a maximum weight matching in an arbitrary graph.
Generates a bidirectional grid graph of any size.
This class computes an Equivalent Flow Tree (EFT) using the algorithm proposed by Dan Gusfield.
This class computes a Gomory-Hu tree (GHT) using the algorithm proposed by Dan Gusfield.
An algorithm solving the Hamiltonian cycle problem.
Base class for TSP solver algorithms.
An algorithm improving the result of solving the Hamiltonian cycle problem.
Harmonic centrality.
Find all simple cycles of a directed graph using the algorithm described by Hawick and James.
Algorithm for computing the heavy path decomposition of a rooted tree/forest.
Algorithm for computing lowest common ancestors in rooted trees and forests based on HeavyPathDecomposition.
A dynamic programming algorithm for the TSP problem.
A simple introduction to using JGraphT.
An implementation of Hierholzer's algorithm for finding an Eulerian cycle in Eulerian graphs.
Implementation of the well-known Hopcroft Karp algorithm to compute a matching of maximum cardinality in a bipartite graph.
Implementation of Howard`s algorithm for finding minimum cycle mean in a graph.
Predict links using the Hub Depressed Index.
Predict links using the Hub Promoted Index.
Generates a hyper cube graph of any size.
An adapter class for directed graphs using WebGraph (big)'s ImmutableGraph.
An adapter class for directed graphs using WebGraph's ImmutableGraph.
A graph adapter class using Guava's ImmutableValueGraph specialized with double values.
A graph adapter class using Guava's ImmutableGraph.
A graph adapter class using Guava's ImmutableNetwork.
An adapter class for undirected graphs using WebGraph (big)'s ImmutableGraph.
An adapter class for undirected graphs using WebGraph's ImmutableGraph.
A graph adapter class using Guava's ImmutableValueGraph.
Special events which may happen during import.
An exception that the library throws in case of graph import errors.
Enumeration for different kind of incoming edges support.
Algorithm to compute an Independent Set in a graph.
A (weighted) Independent Set
Default implementation of a (weighted) independent set
Fruchterman and Reingold Force-Directed Placement Algorithm using the Barnes-Hut indexing technique with a QuadTree.
Assign a unique integer identifier to a set of elements.
Special RuntimeException to signal that IntrusiveEdge is used incorrectly.
An interface for the set of intrusive edges of a graph.
Dijkstra Shortest Path implementation specialized for graphs with integer vertices.
Exception thrown in the event that the path is invalid.
This class represents a GraphMapping between two (subgraph)isomorphic graphs.
General interface for graph and subgraph isomorphism.
Implementation of IsomorphismUndecidableException to indicate undecidable isomorphism cases in isomorphism inspectors
Predict links using the Jaccard coefficient.
Adapter to draw a JGraphT graph with the JGraphX drawing library.
A demo applet that shows how to use JGraphX to visualize JGraphT graphs.
Johnson's all pairs shortest paths algorithm.
Find all simple cycles of a directed graph using the Johnson's algorithm.
Imports a graph from a JSON file.
Exports a graph using JSON.
Imports a graph from a JSON file.
Katz centrality implementation.
Kleinberg's small-world graph generator.
This class computes weighted matchings in general graphs.
This class computes weighted perfect matchings in general graphs using the Blossom V algorithm.
A solution to the dual linear program formulated on the graph
Describes the performance characteristics of the algorithm and numeric data about the number of performed dual operations during the main phase of the algorithm
Computes strongly connected components of a directed graph.
An algorithm which computes $k$-shortest paths between vertices.
The k spanning tree clustering algorithm.
Kuhn-Munkres algorithm (named in honor of Harold Kuhn and James Munkres) solving assignment problem also known as hungarian algorithm (in the honor of hungarian mathematicians Dénes K?nig and Jen? Egerváry).
An example of how to apply edge labels using a custom edge class.
A label propagation clustering algorithm.
The largest degree first greedy coloring algorithm.
A general interface for a layout 2D algorithm.
A general interface for the 2D layout model.
Predict links using the Leicht-Holme-Newman Index.
Exports a graph into Lemon graph format (LGF).
Parameters that affect the behavior of the LemonExporter exporter.
A lexicographical breadth-first iterator for an undirected graph.
Generates a linear graph of any size.
The linearized chord diagram graph model generator.
Converter which produces the line graph of a given input graph.
A link prediction algorithm.
An exception used to notify that a link prediction index is not well defined.
A graph that supports listeners on structural change events.
A layout model wrapper which adds support for listeners.
An implementation of MultiObjectiveShortestPathAlgorithm.MultiObjectiveSingleSourcePaths which stores one list of paths per vertex.
An implementation of ShortestPathAlgorithm.SingleSourcePaths which stores one path per vertex.
A wrapper around a supplier of an iterable.
Algorithm to compute a lowest common ancestor in a tree, forest or DAG.
An algorithm which computes shortest paths from all sources to all targets.
Base class for many-to-many shortest paths implementations.
A set of paths from all sources vertices to all target vertices.
A layout model which uses a hashtable to store the vertices' locations.
Martin's algorithm for the multi-objective shortest paths problem.
An unmodifiable subgraph induced by a vertex/edge masking function.
Allows to derive a matching of a given graph.
A graph matching.
A default implementation of the matching interface.
Math Utilities.
Exports a graph to a plain text matrix format, which can be processed by matrix manipulation software, such as MTJ or MATLAB.
Formats supported by the MatrixExporter exporter.
A maximal clique enumeration algorithm.
A maximum cardinality search iterator for an undirected graph.
Interface for algorithms computing the maximum density subgraph
Allows to derive maximum-flow from the supplied flow network
A maximum flow
Default implementation of the maximum flow
Base class backing algorithms allowing to derive maximum-flow from the supplied flow network
This class represents a maximum flow problem.
Default implementation of a Maximum Flow Problem.
Maximum weight matching in bipartite graphs.
The median heuristic greedy algorithm for edge crossing minimization in two layered bipartite layouts.
Allows to calculate minimum cost flow on the specified minimum cost flow problem.
Represents a minimum cost flow.
Default implementation of the MinimumCostFlowAlgorithm.MinimumCostFlow
This class represents a minimum cost flow problem.
Default implementation of a Minimum Cost Flow Problem
The algorithm for finding minimum cycle mean in a graph.
Given a weighted graph $G(V,E)$ (directed or undirected).
The ModifiableInteger class wraps a value of the primitive type int in an object, similarly to Integer.
A multigraph.
An algorithm which computes multi-objective shortest paths between vertices.
A set of paths starting from a single source vertex.
A graph adapter class using Guava's MutableValueGraph specialized with double values.
A graph adapter class using Guava's MutableGraph.
A graph adapter class using Guava's MutableNetwork.
A graph adapter class using Guava's MutableValueGraph.
Find the Lowest Common Ancestor of a directed graph.
Collection of commonly used named graphs
The nearest insertion heuristic algorithm for the TSP problem.
The nearest neighbour heuristic algorithm for the TSP problem.
An exception used to notify about the detection of a negative cycle.
Maintains a cache of each vertex's neighbors.
NETGEN-style network generator.
Configuration class to specify network parameters for the NetworkGenerator.
Builder class for the NetworkGeneratorConfig.
Represents network auxiliary information.
An exception to signal that TopologicalOrderIterator is used for a non-directed acyclic graph.
Enum specifying the objective sense of the algorithm.
Implementation of the algorithm by Padberg and Rao to compute Odd Minimum Cut-Sets.
PageRank implementation.
Generic pair.
Palmer's algorithm for computing Hamiltonian cycles in graphs that meet Ore's condition.
ParanoidGraph provides a way to verify that objects added to a graph obey the standard equals/hashCode contract.
Implementation of <a href = "https://doi.org/10.1016/S0166-218X(96)00010-8"> Parberry's algorithm</a> for <a href = "https://en.wikipedia.org/wiki/Knight%27s_tour">closed knight's tour problem</a>.
Algorithm to compute a vertex partitioning of a graph.
Default implementation of a vertex partition
A linear time $\frac{1}{2}$-approximation algorithm for finding a maximum weight matching in an arbitrary graph.
Path validator for shortest path algorithms.
Find a cycle basis of an undirected graph using a variant of Paton's algorithm.
A simple demo to test memory and CPU consumption on a graph with 3 million elements.
Bron-Kerbosch maximal clique enumeration algorithm with pivot.
Allows to check the planarity of the graph.
A combinatorial embedding of the graph.
Create a random $l$-planted partition graph.
A 2-dimensional point in Euclidean space.
A collection of utilities to assist with point manipulation.
Predict links using Preferential Attachment.
Utility class to help implement an iterator/enumerator in which the hasNext() method needs to calculate the next elements ahead of time.
A functor for the calculation of the next element.
An implementation of Prim's algorithm that finds a minimum spanning tree/forest subject to connectivity of the supplied weighted undirected graph.
Generates a random tree using Prüfer sequences.
A pseudograph.
Push-relabel maximum flow algorithm designed by Andrew V.
Generate a set of fundamental cycles by building a spanning tree (forest) using a straightforward implementation of BFS using a FIFO queue.
Sorts the specified list of integers into ascending order using the Radix Sort method.
The greedy coloring algorithm with a random vertex ordering.
Random layout.
Generate a random $d$-regular undirected graph with $n$ vertices.
Generate a random tour.
A random walk iterator.
Helper class for vertex covers.
Finds a minimum vertex cover in a undirected graph.
A layout algorithm which re-scales vertex positions to (center-scale,center+scale) in all dimensions.
Predict links using the Resource Allocation Index.
Generates a ring graph of any size.
Predict links using the Salton Index, also called the cosine similarity.
The Dsatur greedy coloring algorithm.
Generates directed or undirected scale-free network of any size.
An algorithm which computes shortest paths between vertices.
A set of paths starting from a single source vertex.
A simple directed graph.
A simple directed weighted graph.
Imports a graph from a GEXF data source.
Imports a graph from a GEXF data source.
Implementation of a Simple Graph.
Imports a GraphML file as an edge list.
Imports a graph from a GraphML data source.
Imports a graph from a GraphML data source.
A simple weighted bipartite graph matrix generator.
A simple weighted graph.
A simple weighted graph matrix generator.
The smallest degree last greedy coloring algorithm.
An algorithm which computes a graph spanner of a given graph.
A graph spanner.
Default implementation of the spanner interface.
An algorithm which computes a spanning tree of a given connected graph.
A spanning tree.
Default implementation of the spanning tree interface.
Edmonds' blossom algorithm for maximum cardinality matching in general undirected graphs.
A sparse directed graph.
Sparse directed weighted graph.
Sparse undirected graph.
Sparse undirected weighted graph.
An interface encapsulating the basic graph operations.
Generate a set of fundamental cycles by building a spanning tree (forest) using an implementation of BFS using a LIFO Stack.
Generates a star graph of any size.
A strong connectivity inspector algorithm.
An immutable directed graph with IntIntPair edges represented using quasi-succinct data structures.
An immutable directed graph with Integer edges represented using quasi-succinct data structures.
An immutable undirected graph with Integer edges represented using quasi-succinct data structures.
An immutable undirected graph with IntIntSortedPair edges represented using quasi-succinct data structures.
Exception thrown to indicate that a Supplier is in an invalid state.
Helper class for suppliers.
An implementation of Suurballe algorithm for finding K edge-disjoint shortest paths.
Find all simple cycles of a directed graph using the Schwarcfiter and Lauer's algorithm.
Predict links using the Sørensen Index.
Tarjan's offline algorithm for computing lowest common ancestors in rooted trees and forests.
Find all simple cycles of a directed graph using the Tarjan's algorithm.
Find all simple cycles of a directed graph using the Tiernan's algorithm.
A double comparator with adjustable tolerance.
Raised when the generator fails, too many times in a row, to grow a graph.
A topological ordering iterator for a directed acyclic graph.
Constructs the transitive closure of the input graph.
An implementation of Harry Hsu's transitive reduction algorithm.
Implementation of the shortest paths algorithm based on TransitNodeRoutingPrecomputation.
A listener on graph iterator or on a graph traverser.
An empty do-nothing implementation of the TraversalListener interface used for subclasses.
Data structure for storing dynamic trees and querying node connectivity
Algorithm class which computes a number of distance related metrics for trees.
An implementation of ShortestPathAlgorithm.SingleSourcePaths which uses linear space.
An algorithm which computes a decomposition into disjoint paths for a given tree/forest
A path decomposition.
Default implementation of the path decomposition interface.
Generic triple (3-tuple).
Importer for files in the TSPLIB95 format.
Container for the meta data of an imported TSPLIB95 file.
A node imported from the NODE_COORD_SECTION of a TSPLIB95-file.
Container for the entry values read from the specification part of a file in TSPLIB95 format.
A 2-approximation algorithm for the metric TSP problem.
A two layered bipartite layout.
The 2-opt heuristic algorithm for the TSP problem.
TypeUtil isolates type-unsafety so that code which uses it for legitimate reasons can stay warning-free.
A container for vertex edges.
A modularity measurer.
Plain implementation of UndirectedSpecifics.
An uniform weights variant of the intrusive edges specifics.
An implementation of Union Find data structure.
An unmodifiable live view of the union of two sets.
Generic unordered pair.
An algorithm which computes a graph vertex coloring.
A coloring.
Default implementation of the coloring interface.
Computes a (weighted) vertex cover in an undirected graph.
Default implementation of a (weighted) vertex cover
Compares two vertices based on their degree.
Deprecated, for removal: This API element is subject to removal in a future version.
An interface for all algorithms which assign scores to vertices of a graph.
A listener that is notified when the graph's vertex set changes.
Helper class for building a one-to-one mapping for a collection of vertices to the integer range $[0, n)$ where $n$ is the number of vertices in the collection.
A traversal event for a graph vertex.
Base implementation of the VF2 algorithm using its feature of detecting isomorphism between two graphs as described in Cordella et al.
This is an implementation of the VF2 algorithm using its feature of detecting isomorphism between two graphs as described in Cordella et al.
This is an implementation of the VF2 algorithm using its feature of detecting subgraph isomorphism between two graphs as described in Cordella et al.
Exports a graph to a CSV format that can be imported into MS Visio.
Implementation of <a href = "https://en.wikipedia.org/wiki/Knight%27s_tour#Warnsdorf's_rule">Warnsdorff's rule</a> - heuristic for finding a knight's tour on chessboards.
Watts-Strogatz small-world graph generator.
Tests whether a graph is weakly chordal.
Binary operator for edge weights.
A weighted variant of the intrusive edges specifics.
A weighted multigraph.
A weighted pseudograph.
Implementation of a weighted, unmodifiable set.
Generates a wheel graph of any size.
WINDMILL and DUTCHWINDMILL Modes for the Constructor
Implementation of Yen`s algorithm for finding $k$ shortest loopless paths.
Iterator over the shortest loopless paths between two vertices in a graph sorted by weight.
Dynamic programming algorithm for computing edit distance between trees.
Represents elementary action which changes the structure of a tree.
Type of an edit operation.