Crate petgraph

source ·
Expand description

petgraph is a graph data structure library.

  • Graph which is an adjacency list graph with arbitrary associated data.

  • StableGraph is similar to Graph, but it keeps indices stable across removals.

  • GraphMap is an adjacency list graph which is backed by a hash table and the node identifiers are the keys into the table.

  • CSR is a sparse adjacency matrix graph with arbitrary associated data.

Optional crate feature: "serde-1", see the Readme for more information.

Re-exports

Modules

  • Graph algorithms.
  • astar 🔒
  • Compressed Sparse Row (CSR) is a sparse adjacency matrix graph.
  • Graph traits for associated data and graph construction.
  • dijkstra 🔒
  • Simple graphviz dot file format output.
  • Graph<N, E, Ty, Ix> is a graph datastructure using an adjacency list representation.
  • graph_impl 🔒
  • GraphMap<N, E, Ty> is a graph datastructure where node values are mapping keys.
  • Formatting utils
  • iter_utils 🔒
  • macros 🔒
  • Commonly used items.
  • scored 🔒
  • StableGraph keeps indices stable across removals.
  • UnionFind<K> is a disjoint-set data structure.
  • util 🔒
  • Graph traits and graph traversals.

Macros

Enums

Traits

  • A graph’s edge type determines whether is has directed edges or not.
  • Convert an element like (i, j) or (i, j, w) into a triple of source, target, edge weight.