4 个版本

0.0.5 2023 年 11 月 26 日
0.0.4 2023 年 11 月 23 日
0.0.3 2023 年 11 月 22 日
0.0.2 2023 年 11 月 22 日
0.0.1 2023 年 11 月 19 日

#227 in 科学

每月 45 次下载

MIT/Apache

39KB
726 代码行

DAWG (有向无环词图)

参考文献

  1. 最小有向无环有限状态自动机的增量构建
  2. 使用 DAWG 压缩词典
  3. 第 25 讲 | 编程抽象 (斯坦福) [视频]

许可证

根据您的选择,许可协议为 Apache 许可证 2.0 版MIT 许可证

注意

  1. 该 CRATE 尚未准备好投入生产(自行承担风险)
  2. 欢迎贡献

lib.rs:

根据 Steve Hanov 的描述(使用 DAWG 压缩词典)在 Rust 中实现有向无环词图 (DAWG)(发音为 "DAWG")(感谢!)

将以下内容添加到您的 Cargo.toml

[depedencies.dawg]
version = "x"
features = ["threading" ]

[threading] - 支持发送 + 同步

use dawg::Dawg;

let mut dawgie = Dawg::new();
let mut words = vec!["BAM", "BAT", "BATH", "CATH", "BATHE", "CAR", "CARS", "CAREERS, "SILENT", "LIST", "LISTEN", "AYÒ", "ÒYÀ"].iter().map(|w| w.to_string().to_uppercase()).collect::<Vec<_>>();

words.sort();

for word in words {
    dawgie.insert(word.to_string());
}

// to avoid unintended behaviours always remember to close (.finish) after building the dawg

dawgie.finish();


assert!(dawgie.lookup("BATH").is_some());
assert!(dawgie.is_some());

依赖关系

~0.9–1.5MB
~30K SLoC