4个版本

0.2.2 2022年6月7日
0.2.1 2022年5月16日
0.2.0 2022年5月4日
0.1.0 2022年4月27日

#1241 in 算法

MIT 许可证

49KB
1K SLoC

simplegraph

Test crates.io PRs Welcome

simplegraph 提供了Rust中的简单图实现。

特性

simplegraph 力求尽可能简单,同时提供所需的所有特性。如果您需要以下功能,可以考虑使用 simplegraph

  • 直接和无向图的支撑;
  • 基于 邻接表邻接矩阵 的图;
  • 将图转换为 Graphviz (dot) 源文件;
  • 使用 Serde 支持序列化和反序列化;
  • 动态插入弧;
  • 更新弧和节点的权重。

另一方面,对图设置了一些有意限制

  • 节点的数量在创建时设置
  • 节点和弧的权重必须实现 num_traits::Num
  • 权重总是存在的:无法创建无权简单图。

simplegraph 不提供对在它上执行的操作的任何检查。确保操作的正确性是调用者的责任。

为什么?

据我所知,petgraph 是Rust中最常用的通用图库。它是一个非常完整且复杂的库,可以用于实现用于各种目的的复杂图。如果您选择/需要使用图库,也应该检查它。

simplegraph 力求成为邻接表或矩阵的简单 包装。我主要为了自己的使用而实现了这个库,并避免了一些——在我看来——不必要的复杂性。因此,它可能缺少一些我将在需要时才添加的特性。

依赖项

~1.6–2.3MB
~48K SLoC