Expand description
Traits for graph data structures.
The traits for graph data structures provide an additional level of information about (the edges of) the graph. There are three levels:
Graph
: an undirected graph, edges have no defined source or sink.Digraph
: a directed graph, each edge has a designated source and a designated sink node. Furthermore, there is the concept of “outgoing” and “incoming” edges. ADigraph
is also aGraph
, which basically means ignoring the direction information of the edges.Network
: a network is a directed graph, but each edge is actually a pair of edges: the normally directed edge and its reverse edge. Edge and reverse edge are considered equal for all purposes of a digraph (e.g. source and sink node are always source and sink of the forward edge), but the additional “reverse” information can be obtained by the methods ofNetwork
. Furthermore, if the network is anIndexNetwork
, aBiEdgeVec
can be used to store different values for edges and the reverse edges (in contrast, anEdgeVec
always contains the same value for an edge and its reverse edge).
Re-exports
pub use vec::IndexBiEdgeSlice;
pub use vec::IndexEdgeSlice;
pub use vec::IndexNodeSlice;
pub use vec::IndexBiEdgeVec;
pub use vec::IndexEdgeVec;
pub use vec::IndexNodeVec;
Traits
An edge in a graph with a direct biindex.
Trait for a general directed graph.
An edge in a graph.
Trait for a general undirected graph.
A
Digraph
that is also an IndexGraph
.Associates nodes and edges with unique ids.
Associates edges with unique ids for forward and backward edge.
A network.
A node in a graph.
Marker trait for digraphs with directly numbered nodes and edges.
An edge in a graph with a direct index.
Marker trait for graphs with directly numbered nodes and edges.
Marker trait for networks with directly numbered nodes and edges.
A node in a graph with a direct index.