This project aims to correctly implement various edit distance algorithms in the Rust programming language.
Edit distance is the minimum number of editing operations required to transform one string into another. Multiple different edit distance categories exist. These edit distances differ in supported operations and algorithmic complexity.
Replace one symbol with another.
Example:
Eleghant -> Elephant
Eleghant
|||R||||
Elephant
The letter 'g' is substituted with the letter 'p' in a single operation.
Remove one symbol.
Example:
Elephhant -> Elephant
Elephhant
||||D||||
Elep hant
The second letter 'h' is removed in a single operation.
Add one symbol.
Example:
Elehant -> Elephant
Ele hant
|||I||||
Elephant
The letter 'p' is added in a single operation.
Swap two adjacent symbols in the string.
Example:
Elehpant -> Elephant
Elehpant
|||SS|||
Elephant
The letters 'h' and 'p' are swapped in a single operation.
Allowed Operations:
- Substitution
Note: strings must be of same length, as substitution does not change length
Allowed Operations:
- Substitution
- Deletion
- Insertion
Allowed Operations:
- Substitution
- Deletion
- Insertion
- Substitution
Allowed Operations:
- Deletion
- Insertion
Allowed Operations:
- Transposition