public DirectedGraph(int n) { Vertices = new DirectedVertex[n + 1]; for (int i = 1; i <= n; i++) { Vertices[i] = new DirectedVertex(i); } }
public void DoDepthFirstSearchRev(DirectedGraph g, DirectedVertex s) { _reverse_loop_explored[s.Name] = true; foreach (var _v in s.ReverseConnectedVertices) { if (!_reverse_loop_explored[_v.Name]) { DoDepthFirstSearchRev(g, _v); } } _f[++_t] = s.Name; }
public void ReverseConnect(DirectedVertex head) { ReverseConnectedVertices.Add(head); }
public DirectedEdge(DirectedVertex u, DirectedVertex v) { StartVertex = u; EndVertex = v; }
//public DirectedEdge Connect(DirectedVertex head) //{ // var _e = new DirectedEdge(this, head); // //ConnectedEdges.Add(_e); // return _e; //} public void Connect(DirectedVertex head) { ConnectedVertices.Add(head); }