#graph #undirected-graph #path #math #algorithm

yagraphc

用于操作图数据结构和其上常见算法的库

3 个版本

0.1.2 2024年1月7日
0.1.1 2024年1月1日
0.1.0 2024年1月1日

#1392数据结构

MIT 许可证

83KB
2K SLoC

YAGraphC

Code Tests Coverage Status Linting Doc Tests

用于操作图数据结构和其上常见算法的库。

本库的主要重点是 功能。性能也很重要,但不是主要目标。旨在填补当前生态系统中的空白。例如,在 Python 的 NetworkX 中找到无向图的基环是微不足道的,而在 Rust 中则很难找到一个这样的库。

示例

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)));

1.0.0 之前的目标

开发将继续朝着以下目标前进。一旦达到这些目标,我们将重新评估如何前进。

  • 实现了主要路径查找算法
  • 实现了主要最大流/最小割算法
  • 完整的测试覆盖率

依赖关系

~275–730KB
~17K SLoC