[−][src]Crate abstractgraph
This crate implements standard graph algorithms without requiring a specific graph representation.
It's quite common for graph structures to be defined implicitly by other data structures. This crate lets you run standard graph algorithms without having to translate your data structures into a specific graph representation.
Usage
To define a graph, implement the DirectedGraph
trait on some
data structure can be treated as agraph. You can then run the
various generic graph algorithms which take a generic type
implementing DirectedGraph
.
History
This crate began as a port of the aga
and agar
modules
from ccan.
Modules
bfs | Breadth First Search |
dfs | Depth First Search |
Structs
Neighbors | An iterator through the neighbors of a given node (nodes reachable by a single edge transition from the given node) in a graph. |
SimpleEdge | A trivial graph edge representation, whose only information is the destination node |
SimpleEdges | A trivial wrapper around an iterator across nodes, changing it to
an iterator across |
Traits
DirectedGraph | The trait for types (implicitly or explicitly) representing a directed graph structure |
OutEdge | The trait for types representing a single graph edge from a known graph node |