atlas method
Returns a graph from "An Atlas of Graphs" by Ronald C. Read and Robin J.
Wilson, Oxford University Press, 1998. index
is a number between 0
and 1252
.
The graphs are sorted by the number of nodes, the number of vertices, in increasing order of degree sequence, and in increasing number of automorphisms.
Implementation
Graph<V, E> atlas(int number) {
final data = _atlas[number];
final graph = empty();
assert(data[0] >= 0, 'Invalid number of vertices');
for (var i = 0; i < data[0]; i++) {
addVertexIndex(graph, i);
}
assert(2 + 2 * data[1] == data.length, 'Invalid number of edges');
for (var i = 0, o = 2; i < data[1]; i++, o += 2) {
assert(data[o] != data[o + 1], 'Invalid edge pair');
addEdgeIndex(graph, data[o], data[o + 1]);
}
return graph;
}