2个版本
0.1.1 | 2020年1月21日 |
---|---|
0.1.0 | 2020年1月21日 |
#2004 in 算法
41KB
405 行
空间
空间 -- 比较序列之间距离的库。
算法
基于编辑距离
示例
例如,Levenshtein
use spatium::edit_based::levenshtein;
// Get default algorithm for calc levenshtein distance.
let alg = levenshtein::Default::default();
let x = [1, 2, 3];
let y = [1, 2, 4];
let distance = alg.distance(&x, &y).unwrap();
assert_eq!(distance, 1.0);
// With normaliztion (normalized distance = distance / x.len())
let alg = levenshtein::Default::default().normalize_result(true);
let x = [1, 2, 3];
let y = [1, 2, 4];
let distance = alg.distance(&x, &y).unwrap();
assert_eq!(distance, 1.0 / 3.0);
// Use obviously algorithm (for example recursive version)
let alg = levenshtein::Recursive::default();
let x = [1, 2, 3];
let y = [1, 2, 4];
let distance = alg.distance(&x, &y).unwrap();
assert_eq!(distance, 1.0);
许可协议
Spatium以MIT许可协议和Apache许可协议(版本2.0)的条款进行分发。
请参阅LICENSE-APACHE和LICENSE-MIT以获取详细信息。