atlas method

Graph<V, E> atlas(
  1. int number
)

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;
}