Graaf

Functions and types for working with graphs
Graaf is Dutch for
- graph
- count
- dig
This crate is in alpha, and the API will change.
Installation
Add the following to your Cargo.toml:
[]
= "0.13.0"
Usage
use ;
let mut adj = new;
adj.add_edge;
adj.add_edge;
adj.add_edge;
adj.add_edge;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
Features
Algorithms: algo
Breadth-first search: bfs
Dijkstra's algorithm: dijkstra
Operations: op
These traits are implemented for various graph representations built from standard library containers.
AddEdgeadds an unweighted edge.AddWeightedEdgeadds a weighted edge.CountAllEdgescounts all edges.CountAllVerticescounts all vertices.EdgeWeightgets the weight of an edge.Indegreereturns the indegree of a vertex.IsEdgereturns whether an edge exists.IsSimplereturns whether a graph is simple.IterAllEdgesiterates over all unweighted edges.IterAllWeightedEdgesiterates over all weighted edges.IterEdgesiterates over all unweighted edges of a source vertex.IterVerticesiterates over all vertices.IterWeightedEdgesiterates over all weighted edges of a source vertex.Outdegreereturns the outdegree of a vertex.RemoveEdgeremoves an edge.
Representations: repr
Adjacency list, unweighted
BTreeMap<usize, BTreeSet<usize>>BTreeMap<usize, Vec<usize>>HashMap<usize, HashSet<usize>>HashMap<usize, Vec<usize>>Vec<BTreeSet<usize>>Vec<HashSet<usize>>Vec<Vec<usize>>[BTreeSet<usize>; V][BTreeSet<usize>][HashSet<usize>; V][HashSet<usize>][Vec<usize>; V][Vec<usize>]
Adjacency list, weighted
HashMap<usize, HashMap<usize, W>>HashMap<usize, HashSet<(usize, W)>>HashMap<usize, Vec<(usize, W)>>Vec<HashMap<usize, W>>Vec<HashSet<(usize, W)>>Vec<Vec<(usize, W)>>[HashMap<usize, W>; V][HashMap<usize, W>][HashSet<(usize, W)>; V][HashSet<(usize, W)>][Vec<(usize, W)>; V][Vec<(usize, W)>]BTreeMap<usize, BTreeMap<usize, W>>BTreeMap<usize, BTreeSet<(usize, W)>>BTreeMap<usize, Vec<(usize, W)>>Vec<BTreeMap<usize, W>>Vec<BTreeSet<(usize, W)>>[BTreeMap<usize, W>; V][BTreeMap<usize, W>][BTreeSet<(usize, W)>; V][BTreeSet<(usize, W)>]
Adjacency matrix, unweighted
AdjacencyMatrix: an adjacency matrix representation of an unweighted directed graph stored as a bit array.
Edge list, unweighted
HashSet<(usize, usize)>Vec<(usize, usize)>[(usize, usize); V][(usize, usize)]
Edge list, weighted
HashSet<(usize, usize, W)>Vec<(usize, usize, W)>[(usize, usize, W); V][(usize, usize, W)]