#无向图 # #图算法 # #算法 #有向 #实现

algograph

在 Rust 中实现的 (有向和无向) 图及其算法

3 个版本 (破坏性)

0.3.0 2023 年 7 月 9 日
0.2.0 2023 年 5 月 5 日
0.1.0 2023 年 3 月 20 日

#2102 in 算法

自定义许可证

105KB
2.5K SLoC

algograph

有向或无向图及其算法。

低级图和标记图

一些图库允许自定义顶点和边的类型。但对于算法作者来说,这些自定义类型很难处理。我们可以复制一个顶点吗?这样做的代价是什么?

在这个 crate 中,有低级图的特性和实现。低级图中的顶点和边是轻量级的 ID。它们本质上 usize。算法作者可以自由地复制和存储这些 ID。

基于低级图,为了方便,还有一些特性和一个简单的实现来支持具有自定义顶点类型和边类型的图。它们位于 tagged 模块下。

ShadowedSubgraphSelectedSubgraph

它们可以形成具有阴影/选择顶点和边的子图。此外,这些子图是可收缩的。当它们收缩时,其底层图保持不变。

依赖项

~3MB
~47K SLoC