private Digraph BuildGraph(bool hasCycle) { List <int> vertexes = new List <int>() { 0, 1, 2, 3 }; Digraph g = new Digraph(vertexes); g.AddEdge(0, 1); g.AddEdge(1, 2); g.AddEdge(2, 3); if (hasCycle) { g.AddEdge(3, 0); } else { g.AddEdge(0, 3); } return(g); }
public Digraph Reverse() { Digraph g = new Digraph(_vertexes); foreach (int v in _vertexes) { foreach (int w in Adj(v)) { g.AddEdge(w, v); } } return(g); }
private Digraph BuildGraph() { List <int> vertexes = new List <int>() { 0, 1, 2, 3, 4, 5, 6 }; Digraph g = new Digraph(vertexes); g.AddEdge(0, 5); g.AddEdge(0, 1); g.AddEdge(0, 6); g.AddEdge(5, 4); g.AddEdge(6, 4); g.AddEdge(2, 0); g.AddEdge(2, 3); g.AddEdge(3, 5); return(g); }