yagraphc 0.1.2

Crate for working with Graph data structures and common algorithms on top of it.
Documentation
  • Coverage
  • 50%
    25 out of 50 items documented19 out of 45 items with examples
  • Size
  • Source code size: 89.24 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 12.11 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 15s Average build duration of successful builds.
  • all releases: 15s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • AloizioMacedo/yagraphc
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • AloizioMacedo

YAGraphC

Code Tests Coverage Status Linting Doc Tests

Crate for working with Graph data structures and common algorithms on top of it.

The main focus of this crate is functionality. Performance is appreciated but not the main priority. It is intended to fill the gaps in terms of what is not currently available in the ecosystem. As an example, it is not easy to find a graph crate which finds a cycle basis of an undirected graph, while this is trivial in Python's NetworkX.

Example

use yagraphc::prelude::*;
use yagraphc::graph::UnGraph;

let mut graph = UnGraph::default();

graph.add_edge(1, 2, 1);
graph.add_edge(2, 3, 3);
graph.add_edge(3, 4, 2);
graph.add_edge(1, 4, 10);

assert_eq!(graph.dijkstra_with_path(1, 4), Some((vec![1, 2, 3, 4], 6)));

Goals before 1.0.0

The development will keep moving towards the following objectives. Once those are reached, we will reevaluate how to move forward.

  • Main path-finding algorithms implemented
  • Main max flow / min cut algorithms implemented
  • Full test coverage