/// <summary> /// Add a new vertex to the graph and returns it. /// /// Complexity: 1 insertion. /// </summary> /// <returns>Create vertex</returns> public virtual IVertex AddVertex() { IVertex v = VertexProvider.ProvideVertex(); VertexOutEdges.Add(v, new EdgeCollection()); return(v); }
/// <summary> /// Add a new vertex to the graph and returns it. /// /// Complexity: 1 insertion. /// </summary> /// <returns>Create vertex</returns> public virtual void AddVertex(IVertex v) { if (v == null) { throw new ArgumentNullException("vertex"); } if (VertexOutEdges.Contains(v)) { throw new ArgumentException("vertex already in graph"); } VertexProvider.UpdateVertex(v); VertexOutEdges.Add(v, new EdgeCollection()); }