kestrel
Shortest paths on compressed graphs
- Rust library
- 2,340 stars
- MIT licence
- v0.9.2, August 2026
The reference implementation of Theorem 1. It reads a graph once, compresses it into blocks of sorted adjacency, and answers single-source queries without expanding it. On a 24-million-edge road network it uses 41% of the memory of a plain adjacency list.
let g = kestrel::Graph::from_edges(&edges)
.compress(4); // k = 4
let tree = g.dijkstra(source);
assert!(tree.certificate().check(&g));