Menu

Tree [r23] /
 History

HTTPS access


File Date Author Commit
 doc 2017-08-05 spth [r20] Reorganize TODO list
 include 2017-08-05 spth [r18] Ensure graph consistency in case of errors
 src 2020-01-27 spth [r22] Fix typos.
 test 2020-01-27 spth [r23] Minor fix in example program.
 README 2020-01-10 spth [r21] Fix typos.

Read Me

slgraph consists of graph formats suitable for sublinear-time graph algorithms and code for reading and writing these formats.

For sublinear-time graph algorithms, and property testing in particular, the following constant-time operations are important:

1) Reading a graph file - this is where most existing graph libraries need linear time

2) Query the degree of a node
3) Query the i-th neighbour of a node
4) Get a random node via uniform sampling

5) Query the i-th incident edge of a node
6) Query the incident nodes of an edge
7) Get a random edge via uniform smapling (availability of this query can make a substantial difference in runtime for some problems)

8) Support for directed graphs - query incoming an outgoing degrees and edges / neighbours separately (availability of these queries can make a substantial difference in runtime for some problems)
9) Flexible support for node labels
10) Flexible support for edge labels
11) Flexible support for graph labels

12) Support for huge graphs

The current implementation achieves 1)-7) and 12). 8)-12) are not yet implemented (though there is some support for directed graphs).



See doc/README for details on the format.

See test/* for examples