#suffix-array #suffix #array #bioinformatics

sa-ord

Pure Rust implementation of the Suffix Array by Induced Sorting algorithm

1 unstable release

0.0.1 Sep 18, 2022

#13 in #suffix-array

Custom license

24KB
435 lines

SA-Ord

Pure Rust implementation of the SA-IS suffix array algorithm for slices of types that impl Ord + Hash + Clone + Debug

The last character of the slice must be the smallest character in the text in order for the algorithm to work properly. This can be achieved by adding a terminator character.

Usage:

use sa_ord::sais

let paper_example = "mmiissiissiippii$".as_bytes();
assert_eq!(
    sais(paper_example).unwrap(),
    [16, 15, 14, 10, 6, 2, 11, 7, 3, 1, 0, 13, 12, 9, 5, 8, 4].to_vec()
);

Dependencies

~1.7–3.5MB
~80K SLoC