#suffix-array #array #suffix #array-string #string #search

suffix-array-rust

一个简单的库,可用于执行后缀数组操作

1 个不稳定版本

0.1.0 2020年4月23日

#6 in #suffix-array

自定义许可

8KB
185 行代码(不包括注释)

后缀数组

本包提供与后缀数组相关的常用功能。它还使用了 LCP 数组附加功能。

    let s = String::from("azaza");
    let sa = array::new(s.as_str());
    let subs = sa.distinct_sub();
    
    
    let s = String::from("azaza");
    let sa = array::new(s.as_str());
    assert_eq!(9, sa.distinct_sub_count());
    
    let s = String::from("azaza");
    let sa = array::new(s.as_str());
    assert_eq!(15, sa.sub_count());
    
    let s = String::from("abracadabra");
    let sa = array::new(s.as_str());
    let lrs = sa.longest_repeated_substr();

    assert_eq!(1, lrs.len());
    assert_eq!("abra", str::from_utf8(&lrs[0]).unwrap());

无运行时依赖