[−][src]Module spatium::edit_based::damerau_levenshtein
Ha Damearu Levenshtein implementation
Damerau-Levenshtein distance
The Damerau-Levenshtein distance distance is the minimum number of edit operations necessary for transforming one sequence into the other. The edit operations allowed are:
- deletion: ABC -> BC, AC, AB
- insertion: ABC -> ABCD, EABC, AEBC..
- substitution: ABC -> ABE, ADC, FBC..
- transposition: ABC -> ACB, BAC
Examples
use spatium::edit_based::damerau_levenshtein; let alg = damerau_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); // On &str. let x = "Hello-МИР"; let y = "Hello-ПИР"; let xc = x.chars().collect::<Vec<char>>(); let yc = y.chars().collect::<Vec<char>>(); let distance = alg.distance(&xc, &yc).unwrap(); assert_eq!(distance, 1.0); // With normaliztion (normalized distance = distance / x.len()) let alg = damerau_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);
References:
Some implementation
Re-exports
pub use damerau_levenshtein1::DamerauLevenshtein1; |
Modules
damerau_levenshtein1 | Dameraulevenshtein1 algorithm |
Type Definitions
Default | Default algorithm |