All Classes and Interfaces
Class
Description
Abstract implementation of
Graph
.A base interface for all algorithm builders.
Generates a Barabási–Albert graph.
This example demonstrates how to use the BFS and DFS algorithms.
Bread first search (BFS) iterator.
A BFS iterator for
IntGraph
.An algorithm that compute the bi-connected components of a graph.
A result object of a
BiConnectedComponentsAlgo
computation for IntGraph
.A result object of a
BiConnectedComponentsAlgo
computation.Abstract class for bi-connected components algorithms.
Hopcroft-Tarjan algorithm for bi-connected components.
Static class with functions for bipartite graphs.
An algorithm for the chinese postman problem.
Abstract class for computing a shortest edge visitor circle in a graph.
An algorithm for the chinese postman problem using minimum weighted perfect matching and Eulerian tour.
An algorithm that enumerate all the closure subsets in a directed graph.
Abstract class for enumerating over all the closure subsets in a directed graph.
Schrage-Baker algorithm for enumerating all the closure subsets in a directed graph.
An algorithm that assign a color to each vertex in a graph such that the endpoints of each edge have different
colors.
Abstract class for coloring algorithms.
The D-Satur coloring algorithm.
This example demonstrates how to use the coloring algorithm.
A greedy coloring algorithm with random vertices order.
The Recursive Largest First coloring algorithm.
Generates the complement graph of a given graph.
Generates a complete bipartite graph.
Generates a complete graph.
Cores computing algorithm.
The result of the cores computation for
IntGraph
.The result of the cores computation.
Abstract class for computing the cores of a graph.
Linear cores computing algorithm.
An algorithm that enumerate all cycles in a graph.
Abstract class for enumerating all simple cycles in a graph.
Johnson's algorithm for finding all cycles in a directed graph.
Tarjan's algorithm for enumeration all cycles in a directed graph.
Depth first search (DFS) iterators static class.
A DFS iterator for
IntGraph
.Generate a graph that contains the edges that exist in one graph but not in the other.
Read a graph in 'digraph6' format.
Write a graph in 'digraph6' format.
Read a graph in 'DIMACS' format.
Write a graph in 'DIMACS' format.
A set of graph distance measures.
An algorithm for computing a minimum dominating set.
Abstract class for computing a minimum dominating set.
A greedy algorithm for computing a minimum dominating set.
Minimum edge vertex cover algorithm.
Abstract class for computing a minimum edge cover.
A simply algorithm for computing a minimum edge cover using a maximum matching algorithm.
A simply algorithm for computing a minimum weighted edge cover using a minimum weighted perfect matching algorithm.
The direction type of an edge with respect to a vertex.
Iterator used to iterate over graph edges.
This example demonstrates how to iterate over the edges of a graph.
Set of graph edges.
Generate a graph with no edges.
Eulerian tour calculation algorithm.
Flow on graph edges.
Read a graph in 'GEXF' format.
Write a graph in 'GEXF' format.
Read a graph in 'GML' format.
Write a graph in 'GML' format.
Generates a uniformly random bipartite graph among all graphs with \(n\) vertices and \(m\) edges.
Generates a uniformly random graph among all graphs with \(n\) vertices and \(m\) edges.
Generates a random bipartite graph using the \(G(n_1,n_2,p)\) model in which every edge exists with probability
\(p\).
Generates a random graph using the \(G(n,p)\) model in which every edge exists with probability \(p\).
A discrete graph with vertices and edges.
Read a graph in 'graph6' format.
Write a graph in 'graph6' format.
A builder for graphs.
A factory for
Graph
objects.Hints for a graph factory.
A generator of graphs.
Read a graph in 'GraphML' format.
Write a graph in 'GraphML' format.
A reader that reads Graphs from files/IO-reader.
Static methods class for graphs.
A writer that writes Graphs to files/IO-writer.
An adapter from a JGAlgo graph to a Guava graph.
An adapter from a JGAlgo graph to a mutable GUava graph.
An adapter from a JGAlgo graph to a Guava network.
An adapter from a JGAlgo graph to a mutable Guava value graph.
An adapter from a JGAlgo graph to a Guava network.
An adapter from Guava Network to JGAlgo Graph.
An adapter from a JGAlgo graph to a Guava value graph.
Hamiltonian path/cycle algorithm.
Abstract class for computing Hamiltonian cycles/paths in graphs.
Abstract class for computing Hamiltonian cycles/paths in graphs, based on Hamiltonian cycle algo.
Frank Rubin's algorithm for finding Hamiltonian paths in directed and undirected graphs.
Builder for unique identifiers of vertices or edges in a graph.
Builder for unique identifiers of vertices or edges in an
IntGraph
.A set of graph distance measures for
IntGraph
.Iterator used to iterate over int graph edges.
Set of int graph edges.
Flow on
IntGraph
edges.A matching in a
IntGraph
.A graph whose vertices and edges identifiers are indices.
A builder for Index graphs.
A result object of re-indexing and building a graph operation.
A map of indices in range \([0, n)\) to indices in range \([0, n)\).
A factory for Index graphs.
A mapping between
Graph
IDs to IndexGraph
indices.Static methods class for index-id maps.
A mapping between
IntGraph
IDs to IndexGraph
indices.A listener that will be notified when an
IndexGraph
remove a vertex or an edge.Generate the intersection graph of two or more given graphs.
A discrete graph with
int
vertices and edges.A builder for int graphs.
A factory for
IntGraph
objects.A path of edges in an int graph.
A mapping between two graphs that preserves the structure of the graphs for
IntGraph
.A mapping between two graphs that preserves the structure of the graphs.
Tester that check whether two graphs are isomorphic.
Abstract class for computing isomorphism mapping between two graphs.
Vf2 algorithm for testing isomorphism of two graphs.
A partition of the vertices of an int graph into two blocks.
A partition of the vertices of an int graph.
Weight function that maps graph edges or vertices of
IntGraph
to weights.Weight function that maps graph edges or vertices of
IntGraph
to integer weights.Weights of int graph vertices or edges.
Specific weights of
boolean
for int graphs.Specific weights of
byte
for int graphs.Specific weights of
char
for int graphs.Specific weights of
double
for int graphs.Specific weights of
float
for int graphs.Specific weights of
int
for int graphs.Specific weights of
long
for int graphs.Specific weights of
Object
for int graphs.Specific weights of
short
for int graphs.A global configuration class.
An adapter from JGAlgo graph to JGraphT graph.
An adapter from JGraphT graph to JGAlgo graph.
An algorithm that compute the k-edge connected components of a graph.
Abstract class for k-edge connected components algorithms.
Wang's algorithm for computing the k-edge connected components of a graph.
An algorithm for computing the K shortest paths between two vertices in a graph.
Abstract class for computing the k-shortest paths in graphs.
A base class for computing the k-shortest paths from a source vertex to a target vertex in a graph using the
compressed paths tree data structure.
Hershberger, Maxel and Suri algorithm for K shortest simple paths in directed graphs.
Katoh, Ibaraki and Mine algorithm for K shortest simple paths in undirected graphs.
Yen's algorithm for computing the K shortest paths between two vertices in a graph.
Finds the k-vertex connected components of a graph.
Abstract class for k-vertex connected components algorithms.
White-Moody algorithm for finding k-vertex-connected components in an undirected graph.
Read a graph in 'LEDA' format.
Write a graph in 'LEDA' format.
Generates the line graph given an existing graph.
Dynamic algorithm for Lowest Common Ancestor (LCA) queries.
A tree vertex in an
LowestCommonAncestorDynamic
data structure.Gabow linear dynamic LCA data structure with 32bit word operations.
Gabow linear dynamic LCA data structure with 64bit word operations.
Gabow implementation for dynamic LCA data structure with \(O(\log^2 n)\) amortized time for
addLeaf()
operation.This example demonstrates how to use the lowest common ancestor algorithm.
An algorithm for computing the lowest common ancestor (LCA) of two vertices in a tree, offline.
Queries container for
LowestCommonAncestorOffline
computations for IntGraph
.Result of a
LowestCommonAncestorOffline
computation for IntGraph
.Queries container for
LowestCommonAncestorOffline
computations.Result of a
LowestCommonAncestorOffline
computation.Abstract class for offline LCA computation.
Offline LCA algorithm based on Union-Find data structure.
Static Lowest Common Ancestor (LCA) algorithm.
Data structure result created from a static LCA pre-processing.
Data structure result created from a static LCA pre-processing for
IntGraph
.Abstract class for static LCA data structures.
Static LCA implementation using RMQ.
A matching in a graph.
Maximum/minimum matching algorithm.
A builder for
MatchingAlgo
objects.Abstract class for computing matchings in graphs.
Abstract class for computing matching in graphs, based on a maximum matching solution.
Abstract class for computing matching in graphs, based on a minimum matching solution.
Abstract class for computing (only) cardinality matching in a graph.
Hopcroft–Karp maximum unweighted matching algorithm for undirected bipartite graphs.
Gabow's implementation of Endmond's algorithm for cardinality maximum matching in general graphs.
Kuhn's Hungarian method for maximum weighted matching in bipartite graphs.
Maximum weighted matching algorithm using
ShortestPathSingleSource
for bipartite graphs.Blossom V implementation for maximum weighted matching.
Edmonds' Blossom algorithm for Maximum weighted matching with Gabow's dynamic LCA data structure.
Edmonds' Blossom algorithm for Maximum weighted matching with Gabow's implementation WITHOUT dynamic LCA data
structure.
Algorithm for enumerating over all maximal cliques in a graph.
Abstract class for enumerating over all maximal cliques in a graph.
The Bron-Kerbosch algorithm for Maximal cliques.
The Bron-Kerbosch algorithm for Maximal cliques with the pivot heuristic.
Algorithm for enumerating over all maximal independent sets in a graph.
Abstract class for enumerating over all maximal independent sets in a graph.
Compute the maximal independent sets of a graph by computing the maximal cliques of the complement graph.
Calculate the maximum flow in a flow network.
Abstract class for computing a maximum flow in a graph.
Abstract class for computing a maximum flow in a graph without using a residual network.
Abstract class for computing a maximum flow in a graph with a residual network.
Dinic's algorithm for maximum flow.
Dinic's algorithm for maximum flow using dynamic trees.
The Edmonds-Karp algorithm for maximum flow.
The push-relabel maximum flow algorithm with FIFO ordering.
The push relabel algorithm for maximum flow using dynamic trees.
This example demonstrates how to use the maximum matching algorithm.
Compute the minimum-cost (max) flow in a flow network.
A builder for
MinimumCostFlow
objects.Abstract class for computing minimum cost flow in a graph.
Abstract class for computing a minimum cost flow in a graph, based on a source-sink solution.
Abstract class for computing a minimum cost flow in a graph, based on a supply solution.
Minimum-cost flow computation using the cost-scaling algorithm with partial-augmentations push-relabel variant.
Compute the minimum-cost (max) flow in a flow network using cycle canceling.
Minimum spanning tree algorithm for directed graphs.
Abstract class for computing minimum spanning trees in directed graphs.
Tarjan's minimum directed spanning tree algorithm.
Minimum Edge-Cut algorithm that finds all minimum edge-cuts in a graph between two terminal vertices (source-sink,
S-T).
Abstract class for computing all minimum edge cuts between two terminal nodes.
Picard-Queyranne algorithm for enumerating all the minimum edge cuts between two terminal nodes.
Global Minimum Edge-Cut algorithm without terminal vertices.
Abstract class for computing the global minimum edge cut in a graph.
Stoer-Wagner Algorithm for global minimum cut.
Minimum Edge-Cut algorithm with terminal vertices (source-sink, S-T).
Abstract class for computing the minimum edge cut between two vertices in a graph.
Algorithm that find the cycle with the minimum mean weight.
Abstract class for computing the cycle with minimum mean weight in a graph.
Dasdan and Gupta algorithm for minimum mean cycle.
Howard's algorithm for minimum mean cycle detection.
Minimum spanning tree algorithm.
A result object for
MinimumSpanningTree
computation for IntGraph
.A result object for
MinimumSpanningTree
computation.Abstract class for computing a minimum spanning trees in undirected graphs.
Boruvka minimum spanning tree algorithm.
This example demonstrates how to use the minimum spanning tree algorithm.
Fredman and Tarjan’s minimum spanning tree algorithm.
Karger, Klein and Tarjan randomized linear minimum spanning tree algorithm
Kruskal's minimum spanning tree algorithm.
Prim's minimum spanning tree algorithm.
Yao's buckets minimum spanning tree algorithm.
Minimum Vertex-Cut algorithm that finds all minimum vertex-cuts in a graph (global vertex-cut).
Abstract class for computing all global minimum vertex cuts in a graph.
Kanevsky algorithm for computing all minimum unweighted vertex cuts in a graph.
Minimum Vertex-Cut algorithm that finds all minimum vertex-cuts in a graph between two terminal vertices
(source-sink, S-T).
Abstract class for computing all minimum vertex cuts between two vertices in a graph.
All Minimum Vertex-Cuts algorithm with terminal vertices (source-sink, S-T) using All Minimum Edge-Cuts algorithm.
Minimum Vertex-Cut algorithm without terminal vertices.
Abstract class for computing the global minimum vertex cut in a graph.
Esfahanian-Hakimi algorithm for computing a minimum unweighted vertex cut in a graph.
Minimum Vertex-Cut algorithm with terminal vertices (source-sink, S-T).
Abstract class for computing the minimum vertex cut between two vertices in a graph.
Minimum Vertex-Cut algorithm with terminal vertices (source-sink, S-T) using Minimum Edge-Cut algorithm.
Exception thrown when a negative cycle is detected in a graph during a shortest path computation.
Exception thrown when an edge is not found in a graph.
Exception thrown when a vertex is not found in a graph.
A path of edges in a graph.
Randomized algorithm interface.
Random walk iterator.
A random walk iterator for
IntGraph
.Generates a random graph using the R-MAT model.
An algorithm that compute all pairs shortest path (APSP) in a graph.
A builder for
ShortestPathAllPairs
objects.A result object for an
ShortestPathAllPairs
algorithm for IntGraph
.A result object for an
ShortestPathAllPairs
algorithm.Abstract class for computing shortest path between all pairs in a graph.
All pairs cardinality shortest path algorithm.
The Floyd Warshall algorithm for all pairs shortest path.
Johnson's algorithm for all pairs shortest path.
A* shortest path algorithm.
This example demonstrates how to use the single-source shortest path algorithm.
Shortest path algorithm that uses a distance heuristic function.
Abstract class for computing shortest path between a source and a target with a heuristic.
Single Source Shortest Path algorithm.
A builder for
ShortestPathSingleSource
objects.A result object for the
ShortestPathSingleSource
problem for IntGraph
.A result object for the
ShortestPathSingleSource
problem.Abstract class for computing shortest path from a single source in graphs.
Bellman–Ford algorithm for Single Source Shortest Path (SSSP) with negative weights in directed graphs.
Single Source Shortest Path for cardinality weight function.
Linear Single Source Shortest Path (SSSP) algorithm for directed acyclic graphs (DAG).
Dial's algorithm for Single Source Shortest Path for positive integer weights.
Dijkstra's algorithm for Single Source Shortest Path (SSSP).
Goldberg's SSSP algorithm for integer (positive and negative) weights on directed graphs.
An algorithm for computing the shortest path between two vertices in a graph.
Abstract class for computing a single shortest path between a source and a target.
Compute the shortest path between a source and a target using bidirectional breadth-first search.
Compute the shortest path between a source and a target using bidirectional Dijkstra's algorithm.
An algorithm that enumerate over simple paths between a source and a target.
Abstract class for enumerating all simple paths between a source and target vertices.
Sedgewick's simple paths enumerator implementation.
Read a graph in 'sparse6' format.
Write a graph in 'sparse6' format.
An algorithm for the Steiner tree problem.
A result object for
SteinerTreeAlgo
computation for IntGraph
.A result object for
SteinerTreeAlgo
computation.Abstract class for computing Steiner trees in graphs.
Mehlhorn algorithm for Steiner tree approximation.
Strongly Connected components algorithm.
Abstract class for computing strongly connected components in a graph.
Path based DFS implementation of Dijkstra's strongly connected components algorithm.
Tarjan's strongly connected components algorithm.
Generate a graph that contains the edges that exist in one of two input graphs but not in both.
Algorithm that calculate a topological order of graph vertices.
A result object of a
TopologicalOrderAlgo
algorithm for IntGraph
.A result object of a
TopologicalOrderAlgo
algorithm.Abstract class for computing a topological order in a DAG graph.
A simple algorithm that compute a topological order in a DAG graph.
Tree Path Maxima (TPM) algorithm.
Queries container for
TreePathMaxima
computations for IntGraph
.A result object for
TreePathMaxima
algorithm for IntGraph
.Queries container for
TreePathMaxima
computations.A result object for
TreePathMaxima
algorithm.Abstract class for TPM computations.
Hagerup's Tree Path Maxima (TPM) linear time algorithm.
Static methods class for tree graphs.
Traveling Salesman Problem (TSP) algorithm.
Abstract class for computing the shortest tour that visit all vertices in a graph.
TSP \(3/2\)-approximation using maximum matching.
Metric TSP \(2\)-approximation using minimum spanning trees.
Generate a uniform random tree.
Generate the union graph of two or more given graphs.
A partition of the vertices of a graph into two blocks.
Minimum weighted vertex cover algorithm.
Abstract class for computing a minimum vertex cover.
Bar Yehuda's vertex cover algorithm.
A partition of the vertices of a graph.
Voronoi cells algorithm.
A result object of
VoronoiAlgo
computation for IntGraph
.A result object of
VoronoiAlgo
computation.Abstract class for computing the Voronoi cells in a graph given a set of site vertices.
Variant of Dijkstra algorithm that starts at multiple vertices and compute the Voronoi cells.
Weakly Connected components algorithm.
Abstract class for computing weakly connected components in a graph.
Simple implementation of the weakly connected components algorithm.
Weight function that maps graph edges or vertices to weights.
Weight function that maps graph edges or vertices to integer weights.
Static methods class for weight functions.
Weights of graph vertices or edges.
Specific weights of
boolean
.Specific weights of
byte
.Specific weights of
char
.Specific weights of
double
.Specific weights of
float
.Specific weights of
int
.Specific weights of
long
.Specific weights of
Object
.Specific weights of
short
.