Skip to content

Fast and scalable methods for answering reachability queries

License

Notifications You must be signed in to change notification settings

woniu317/PrunedLabeling

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pruned Labeling for Reachability Queries

What is this?

This is an implementation of Pruned Labeling methods for reachability queries on directed graphs. A reachability query (s, t) asks if there is a path between two nodes s and t. Our program quickly answers reachability queries on a given graph by precomputing an index.

Our methods "Pruned Landmark Labeling" and "Pruned Path Labeling" are provided as C++ classes, RQPrunedLandmarkLabeling and RQPrunedPathLabeling. Please see sample/benchmark.cpp for the detailed usage.

Running a sample program

$ make
$ ./benchmark < sample.graph

An input (directed) graph file should be given in the following format:

  • The first line contains #vertices and #edges separated by a space.
  • The (i+1)-th line (0 <= i < |V|) contains indexes of vertices which are adjacent to the i-th vertex, separated by a space. (0-indexed)
  • The input graph can contain cycles.

References

About

Fast and scalable methods for answering reachability queries

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published