forked from YaccConstructor/QuickGraph
    
        
        - 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 77
 
Representations
        Alexandre Rabérin edited this page May 11, 2020 
        ·
        1 revision
      
    QuikGraph provides various data structures that can represent directed/undirected dense/sparse graphs. All data structures are serializable, cloneable and not thread safe.
Graphs are mutable or immutable (immutable graphs usually have a more compact representation). The delegate based graphs can be used to keep the memory consumption low.
- Directed graphs
- AdjacencyGraph provides access to vertices, edges and out-edges of sparse directed graphs.
 - BidirectionalGraph extends AdjacencyGraph by providing access to in-edges but it requires the double of memory space.
 - BidirectionalMatrixGraph represented by an array. Efficient for dense directed graphs with known number of vertices.
 - ArrayAdjacencyGraph and ArrayBidirectionalGraph are read only equivalent of AdjacencyGraph and BidirectionalGraph. They also use slightly less memory.
 - CompressedSparseRowGraph is an adjacency graph using a compact representation called compressed sparse row. Only the vertex can be of custom type.
 - 
DelegateImplicitGraph wraps the 
IImplicitGraphinterface on top of a delegate that a vertex to a set of out vertices. This representation is efficient for large graph that cannot be stored in memory at once. - 
DelegateIncidenceGraph wraps the 
IIncidenceGraphinterface, and extends DelegateImplicitGraph. - 
DelegateVertexAndEdgeListGraph wraps the 
IVertexAndEdgeListGraph, extends the DelegateIncidenceGraph, and also uses an enumeration for the vertices. 
 - Undirected graphs
- UndirectedGraph provides a representation for sparse undirected graphs.
 
 - Adapters
- BidirectionalAdapterGraph wraps an adjacency graph into a bidirectional graph (access to in-edges).
 - UndirectedBidirectionalGraph wraps a bidirectional graph into a undirected graph