Skip to content

bsdrks/graaf

Repository files navigation

Graaf   Crates.io Build status API reference Coverage Status

Rust-powered directed graphs.

Table of Contents

Installation

Add this to your Cargo.toml:

[dependencies]
graaf = "0.108.0"

Representations

Arc-Weighted Sparse Digraphs

Unweighted Dense Digraphs

Unweighted Sparse Digraphs

Generators

  • Biclique generates a complete bipartite digraph.
  • Circuit generates a circuit digraph.
  • Complete generates a complete digraph.
  • Cycle generates a bidirectional circuit.
  • Empty generates a digraph without arcs.
  • ErdosRenyi generates a random digraph.
  • GrowingNetwork generates a growing network digraph.
  • Path generates a path digraph.
  • RandomTournament generates a random tournament.
  • Star generates a star digraph.
  • Wheel generates a wheel digraph.

Operations

Algorithms

Bellman-Ford-Moore

  • BellmanFordMoore::distances finds the shortest distances from a source vertex to all other vertices in an arc-weighted digraph with negative weights.

Breadth-First Search

A breadth-first search explores an unweighted digraph's vertices in order of their distance from a source.

Depth-First Search

A depth-first search explores an unweighted digraph's vertices in order of their depth from a source.

  • Dfs iterates the vertices.
  • DfsDist iterates the vertices and their distance from the source.
  • DfsPred iterates the vertices and their predecessors.
  • DfsPred::predecessors finds the predecessors.

Dijkstra

Dijkstra's algorithm finds the shortest paths in an arc-weighted digraph.

Distance Matrix

A DistanceMatrix contains the shortest distances between all vertex pairs in a digraph.

Floyd-Warshall

Johnson's Circuit-Finding Algorithm

Predecessor Tree

A PredecessorTree contains the vertex predecessors.

Tarjan

Changelog

See CHANGELOG.md for a list of changes.

License

Licensed under Apache License, Version 2.0 or MIT license at your option.

Contact

Feel free to reach out with questions or suggestions.

Links

About

Work with directed graphs

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks