#graph #persistent #tree #immutability

grapes

持久化图数据结构:树、图、竞技场等

5 个不稳定版本

0.3.0 2022 年 5 月 19 日
0.2.0 2022 年 4 月 26 日
0.1.2 2022 年 4 月 23 日
0.1.1 2022 年 4 月 23 日
0.1.0 2022 年 4 月 23 日

#98#持久化

每月 23 次下载

MIT/Apache

120KB
2.5K SLoC

葡萄:持久化图数据结构

持久化: 克隆成本低,因此可以轻松保留(并修改)数据结构的旧版本。

数据结构

  • : 有序子项的层次化、可索引的集合
  • MapTree: 除了树之外,还维护一个键-节点映射
  • : 由边连接的节点集合
  • MapGraph: 也维护键-节点和键-边映射
  • 竞技场: 用于构建任意图形类数据结构

替代方案

除非你特别需要持久化树或持久化图,否则我建议使用这些crate(这些更成熟,可能更快)

如果你需要简单的持久化数据结构(列表、映射),请查看

状态

这个库只支持我非常具体的使用场景所需的。

没有基准测试;性能可能远不及其他库,但这对我很好。

用例

只有在你需要可以相对便宜地克隆和操作图结构时,这个库才有用。

例如,如果你正在构建一个将状态存储在图结构中的应用程序,并且需要高效的撤销-重做功能,你可能需要在内存中存储图的历史副本。为了有效地这样做,这些副本应该共享图未更改的部分。

依赖关系

~1MB
~28K SLoC