Show / Hide Table of Contents

    Class DiGraph<T>

    A directed graph implementation. IEnumerable enumerates all vertices.

    Inheritance
    Object
    DiGraph<T>
    Implements
    IGraph<T>
    IDiGraph<T>
    IEnumerable<T>
    IEnumerable
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: Advanced.Algorithms.DataStructures.Graph.AdjacencyList
    Assembly: Advanced.Algorithms.dll
    Syntax
    public class DiGraph<T> : IGraph<T>, IDiGraph<T>, IEnumerable<T>, IEnumerable
    Type Parameters
    Name Description
    T

    Constructors

    DiGraph()

    Declaration
    public DiGraph()

    Properties

    IsWeightedGraph

    Declaration
    public bool IsWeightedGraph { get; }
    Property Value
    Type Description
    Boolean

    VerticesAsEnumberable

    Declaration
    public IEnumerable<IGraphVertex<T>> VerticesAsEnumberable { get; }
    Property Value
    Type Description
    IEnumerable<IGraphVertex<T>>

    VerticesCount

    Declaration
    public int VerticesCount { get; }
    Property Value
    Type Description
    Int32

    Methods

    AddEdge(T, T)

    Add an edge from source to destination vertex. Time complexity: O(1).

    Declaration
    public void AddEdge(T source, T dest)
    Parameters
    Type Name Description
    T source
    T dest

    AddVertex(T)

    Add a new vertex to this graph. Time complexity: O(1).

    Declaration
    public void AddVertex(T value)
    Parameters
    Type Name Description
    T value

    Clone()

    Clones this graph.

    Declaration
    public DiGraph<T> Clone()
    Returns
    Type Description
    DiGraph<T>

    ContainsVertex(T)

    Declaration
    public bool ContainsVertex(T value)
    Parameters
    Type Name Description
    T value
    Returns
    Type Description
    Boolean

    GetEnumerator()

    Declaration
    public IEnumerator GetEnumerator()
    Returns
    Type Description
    IEnumerator

    GetVertex(T)

    Declaration
    public IDiGraphVertex<T> GetVertex(T value)
    Parameters
    Type Name Description
    T value
    Returns
    Type Description
    IDiGraphVertex<T>

    HasEdge(T, T)

    Do we have an edge between the given source and destination? Time complexity: O(1).

    Declaration
    public bool HasEdge(T source, T dest)
    Parameters
    Type Name Description
    T source
    T dest
    Returns
    Type Description
    Boolean

    InEdges(T)

    Declaration
    public IEnumerable<T> InEdges(T vertex)
    Parameters
    Type Name Description
    T vertex
    Returns
    Type Description
    IEnumerable<T>

    OutEdges(T)

    Declaration
    public IEnumerable<T> OutEdges(T vertex)
    Parameters
    Type Name Description
    T vertex
    Returns
    Type Description
    IEnumerable<T>

    RemoveEdge(T, T)

    Remove an existing edge between source and destination. Time complexity: O(1).

    Declaration
    public void RemoveEdge(T source, T dest)
    Parameters
    Type Name Description
    T source
    T dest

    RemoveVertex(T)

    Remove an existing vertex frm graph. Time complexity: O(V) where V is the total number of vertices in this graph.

    Declaration
    public void RemoveVertex(T value)
    Parameters
    Type Name Description
    T value

    Explicit Interface Implementations

    IDiGraph<T>.Clone()

    Declaration
    IDiGraph<T> IDiGraph<T>.Clone()
    Returns
    Type Description
    IDiGraph<T>

    IDiGraph<T>.ReferenceVertex

    Declaration
    IDiGraphVertex<T> IDiGraph<T>.ReferenceVertex { get; }
    Returns
    Type Description
    IDiGraphVertex<T>

    IDiGraph<T>.VerticesAsEnumberable

    Declaration
    IEnumerable<IDiGraphVertex<T>> IDiGraph<T>.VerticesAsEnumberable { get; }
    Returns
    Type Description
    IEnumerable<IDiGraphVertex<T>>

    IGraph<T>.Clone()

    Declaration
    IGraph<T> IGraph<T>.Clone()
    Returns
    Type Description
    IGraph<T>

    IGraph<T>.GetVertex(T)

    Declaration
    IGraphVertex<T> IGraph<T>.GetVertex(T key)
    Parameters
    Type Name Description
    T key
    Returns
    Type Description
    IGraphVertex<T>

    IGraph<T>.ReferenceVertex

    Declaration
    IGraphVertex<T> IGraph<T>.ReferenceVertex { get; }
    Returns
    Type Description
    IGraphVertex<T>

    IEnumerable<T>.GetEnumerator()

    Declaration
    IEnumerator<T> IEnumerable<T>.GetEnumerator()
    Returns
    Type Description
    IEnumerator<T>

    Implements

    IGraph<T>
    IDiGraph<T>
    System.Collections.Generic.IEnumerable<T>
    System.Collections.IEnumerable
    Back to top Generated by DocFX