#word #graph #acyclic #direct #compact #online #string

seadawg

SeaDawg 是一个库,实现了直接无环词图(DAWG)和紧凑直接无环词图(CDAWG)的在线算法

3 个版本

0.1.3 2022年1月12日
0.1.2 2021年12月4日
0.1.0 2020年6月20日

#1078算法

MPL-2.0 许可证

315KB
6.5K SLoC

SeaDAWG Rust

Open 高性能在线 DAWG 和在线 CDAWG 字符串索引实现。

支持前缀、包含、后缀和精确匹配查询。

警告:对于大数据集,我鼓励查看有限状态转换器。

Rust 的注意点

Rust 对可变性和不可变性非常奇怪。如果我对一个对象有 MUT 锁,那么我显然必须独占访问该对象内部的数据。WTF?不能在不拥有可写锁的情况下获取不可写锁(只读)是一个让人讨厌的错误。我不得不求助于 unsafe 来获取可变内部数据。

依赖项

~2.3–5.5MB
~97K SLoC