You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+11-5Lines changed: 11 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,12 +7,15 @@
7
7
8
8
# JGAlgo
9
9
10
-
The <b>*J*</b>ava <b>*G*</b>raph <b>*Algo*</b>rithm library is a high-performance library for graph algorithms written in Java. It contains a wide collection of optimized algorithms and data structures for a range of problems on graphs. From calculating shortest paths and maximum flows to computing minimum spanning trees, maximum matchings, vertex covers, and minimum coloring.
10
+
The <b>*J*</b>ava <b>*G*</b>raph <b>*Algo*</b>rithm library is a high-performance library for graph algorithms written in Java.
11
+
It contains a wide collection of optimized algorithms and data structures for a range of problems on graphs.
12
+
From calculating shortest paths and maximum flows to computing minimum spanning trees, maximum matchings, vertex covers, and minimum coloring.
11
13
The library runs on Java 11 or higher, and it is installed using [Maven](https://central.sonatype.com/artifact/com.jgalgo/jgalgo).
12
14
13
-
JGAlgo offer [unparalleled speed](https://github.com/barakugav/JGAlgo/actions/workflows/benchmarks.yaml) and efficiency by implementing algorithms with theoretically guaranteed running times using the most efficient underlying building blocks and data-structures. A few concrete reasons for the library performance are:
15
+
JGAlgo offer [unparalleled speed](https://github.com/barakugav/JGAlgo/actions/workflows/benchmarks.yaml) and efficiency by implementing algorithms with theoretically guaranteed running times using the most efficient underlying building blocks and data-structures.
16
+
A few concrete reasons for the library performance are:
14
17
- All building blocks of the library are primitives, rather than Objects
15
-
- The underlying [Graph](https://barakugav.github.io/JGAlgo/0.5.0/com/jgalgo/graph/Graph.html) implementations and algorithms do not use costly hash maps, only plain primitive arrays, yielding faster query time, smaller memory footprint and better cache hit rate
18
+
- The underlying [Graph](https://barakugav.github.io/JGAlgo/0.5.1/com/jgalgo/graph/Graph.html) implementations and algorithms do not use costly hash maps, only plain primitive arrays, yielding faster query time, smaller memory footprint and better cache hit rate
16
19
- Extensive use of [fastutil](https://fastutil.di.unimi.it/) for all collections
17
20
- Memory allocations are postpone and reused by algorithms objects
18
21
@@ -30,12 +33,15 @@ Add the following lines to your `pom.xml`:
30
33
<dependency>
31
34
<groupId>com.jgalgo</groupId>
32
35
<artifactId>jgalgo-core</artifactId>
33
-
<version>0.5.0</version>
36
+
<version>0.5.1</version>
34
37
</dependency>
35
38
```
36
39
37
40
38
-
The most basic object in the library is a [Graph](https://barakugav.github.io/JGAlgo/0.5.0/com/jgalgo/graph/Graph.html). A graph consist of vertices and edges (directed or undirected) connecting between pairs of vertices, all represented by some hashable objects. Algorithms such as [shortest path algorithm](https://barakugav.github.io/JGAlgo/0.5.0/com/jgalgo/alg/shortestpath/ShortestPathSingleSource.html) accept a graph as an input and perform some computation on it. Here is a snippet creating an undirected graph representing the roads between cities in Germany, and computing the shortest path from a source city to all others with respect to a weight function:
41
+
The most basic object in the library is a [Graph](https://barakugav.github.io/JGAlgo/0.5.1/com/jgalgo/graph/Graph.html).
42
+
A graph consist of vertices and edges (directed or undirected) connecting between pairs of vertices, all represented by some hashable objects.
43
+
Algorithms such as [shortest path algorithm](https://barakugav.github.io/JGAlgo/0.5.1/com/jgalgo/alg/shortestpath/ShortestPathSingleSource.html) accept a graph as an input and perform some computation on it.
44
+
Here is a snippet creating an undirected graph representing the roads between cities in Germany, and computing the shortest path from a source city to all others with respect to a weight function:
39
45
40
46
```java
41
47
/* Create an undirected graph with three vertices and edges between them */
0 commit comments