public static SimpleGraph MakeSandwich(int size) { SimpleGraph g = new SimpleGraph(); int center = size * 2; // face A for (int i = 0; i < size - 1; i++) { g.MakeEdge(i, i + 1); g.MakeEdge(i, center); } g.MakeEdge(size - 1, 0); g.MakeEdge(size - 1, center); // face B for (int i = 0; i < size - 1; i++) { g.MakeEdge(i + size, i + size + 1); g.MakeEdge(i + size, center); } g.MakeEdge((2 * size) - 1, size); g.MakeEdge((2 * size) - 1, center); return(g); }
public static SimpleGraph MakeQuadricyclane() { SimpleGraph g = new SimpleGraph(); g.MakeEdge(0, 1); g.MakeEdge(0, 5); g.MakeEdge(0, 6); g.MakeEdge(1, 2); g.MakeEdge(2, 3); g.MakeEdge(2, 4); g.MakeEdge(3, 4); g.MakeEdge(3, 6); g.MakeEdge(4, 5); g.MakeEdge(5, 6); return(g); }
public static SimpleGraph MakeSpiroPentagons() { SimpleGraph g = new SimpleGraph(); g.MakeEdge(0, 1); g.MakeEdge(0, 2); g.MakeEdge(0, 3); g.MakeEdge(0, 4); g.MakeEdge(1, 5); g.MakeEdge(2, 6); g.MakeEdge(3, 7); g.MakeEdge(4, 8); g.MakeEdge(5, 6); g.MakeEdge(7, 8); return(g); }
public SimpleGraph MakeTorus(int width, int height) { SimpleGraph graph = new SimpleGraph(); // make a grid of width * height for (int i = 0; i < width - 1; i++) { for (int j = 0; j < height; j++) { int x = (width * j) + i; int y = x + 1; graph.MakeEdge(x, y); if (j < height - 1) { int z = width * (j + 1) + i; graph.MakeEdge(x, z); } } } // finish off the last column for (int i = 0; i < height - 1; i++) { int x = ((i + 1) * width) - 1; int y = ((i + 2) * width) - 1; graph.MakeEdge(x, y); } int size = width * height; // connect the top edge to the bottom for (int i = 0; i < width; i++) { graph.MakeEdge(i, size - width + i); } // connect the left edge to the right for (int j = 0; j < height; j++) { int x = width * j; int y = (x + width) - 1; graph.MakeEdge(x, y); } return(graph); }
public static SimpleGraph MakePrism(int size) { SimpleGraph g = new SimpleGraph(); for (int i = 0; i < size - 1; i++) { g.MakeEdge(i, i + 1); } g.MakeEdge(size - 1, 0); for (int i = 0; i < size - 1; i++) { g.MakeEdge(i + size, i + size + 1); } g.MakeEdge((2 * size) - 1, size); for (int i = 0; i < size; i++) { g.MakeEdge(i, i + size); } return(g); }
public SimpleGraph MakeCompleteGraph(int n) { SimpleGraph g = new SimpleGraph(); for (int i = 0; i < n; i++) { for (int j = i + 1; j < n; j++) { g.MakeEdge(i, j); } } return(g); }
public static SimpleGraph MakeFourRegularExample() { SimpleGraph g = new SimpleGraph(); g.MakeEdge(0, 1); g.MakeEdge(0, 3); g.MakeEdge(0, 4); g.MakeEdge(0, 5); g.MakeEdge(1, 2); g.MakeEdge(1, 6); g.MakeEdge(1, 7); g.MakeEdge(2, 3); g.MakeEdge(2, 6); g.MakeEdge(2, 7); g.MakeEdge(3, 4); g.MakeEdge(3, 5); g.MakeEdge(4, 5); g.MakeEdge(4, 6); g.MakeEdge(5, 7); g.MakeEdge(6, 7); return(g); }
public static SimpleGraph MakeGrotschGraph() { SimpleGraph g = new SimpleGraph(); g.MakeEdge(0, 1); g.MakeEdge(0, 2); g.MakeEdge(0, 3); g.MakeEdge(0, 4); g.MakeEdge(0, 5); g.MakeEdge(1, 7); g.MakeEdge(1, 10); g.MakeEdge(2, 6); g.MakeEdge(2, 8); g.MakeEdge(3, 7); g.MakeEdge(3, 9); g.MakeEdge(4, 8); g.MakeEdge(4, 10); g.MakeEdge(5, 6); g.MakeEdge(5, 9); g.MakeEdge(6, 7); g.MakeEdge(6, 10); g.MakeEdge(7, 8); g.MakeEdge(8, 9); g.MakeEdge(9, 10); return(g); }
public static SimpleGraph MakeHerschelGraph() { SimpleGraph g = new SimpleGraph(); g.MakeEdge(0, 1); g.MakeEdge(0, 3); g.MakeEdge(0, 5); g.MakeEdge(1, 2); g.MakeEdge(1, 6); g.MakeEdge(2, 3); g.MakeEdge(2, 7); g.MakeEdge(2, 8); g.MakeEdge(3, 4); g.MakeEdge(4, 5); g.MakeEdge(4, 8); g.MakeEdge(4, 10); g.MakeEdge(5, 6); g.MakeEdge(6, 7); g.MakeEdge(6, 10); g.MakeEdge(7, 9); g.MakeEdge(8, 9); g.MakeEdge(9, 10); return(g); }
public static SimpleGraph MakeThreeFourFiveTwisted() { SimpleGraph g = new SimpleGraph(); g.MakeEdge(0, 1); g.MakeEdge(0, 2); g.MakeEdge(0, 7); g.MakeEdge(1, 2); g.MakeEdge(1, 3); g.MakeEdge(2, 5); g.MakeEdge(3, 4); g.MakeEdge(3, 6); g.MakeEdge(4, 5); g.MakeEdge(4, 7); g.MakeEdge(5, 6); g.MakeEdge(6, 7); return(g); }