2个版本

0.1.1 2020年1月21日
0.1.0 2020年1月21日

#2004 in 算法

MIT/Apache

41KB
405

空间

Spatium logo

Build Status

空间 -- 比较序列之间距离的库。

算法

基于编辑距离

示例

例如,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-APACHELICENSE-MIT以获取详细信息。

无运行时依赖