Crates.io | yagraphc |
lib.rs | yagraphc |
version | 0.1.2 |
source | src |
created_at | 2024-01-01 22:06:35.012836 |
updated_at | 2024-01-07 09:44:42.296117 |
description | Crate for working with Graph data structures and common algorithms on top of it. |
homepage | |
repository | https://github.com/AloizioMacedo/yagraphc |
max_upload_size | |
id | 1085588 |
size | 88,171 |
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.
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)));
The development will keep moving towards the following objectives. Once those are reached, we will reevaluate how to move forward.