rust_dsa

Function edit_distance

Source
pub fn edit_distance<T>(a: &[T], b: &[T]) -> usize
where T: PartialEq,
Expand description

Returns the Levenshtein distance between two slices.

ยงExample

use rust_dsa::edit_distance;

let a = [9, 4, 8, 5, 9, 3, 8, 5];
let b = [1, 9, 4, 8, 3, 5];
assert_eq!(edit_distance(&a, &b), 4);

let kitten = ['k', 'i', 't', 't', 'e', 'n'];
let sitting = ['s', 'i', 't', 't', 'i', 'n', 'g'];
assert_eq!(edit_distance(&kitten, &sitting), 3);

let x = ["foo", "bar", "baz", "baz"];
let y = ["baz", "foo", "bar", "baz"];
assert_eq!(edit_distance(&x, &y), 2);