public class Levenshtein extends Object
This implementation allows the client to specify the costs of the various edit operations with the restriction that the cost of two swap operations must not be less than the cost of a delete operation followed by an insert operation. This restriction is required to preclude two swaps involving the same character being required for optimality which, in turn, enables a fast dynamic programming solution.
The running time of the Damerau-Levenshtein algorithm is O(n*m) where n is the length of the source string and m is the length of the target string. This implementation consumes O(n*m) space.
Constructor and Description |
---|
Levenshtein() |
Modifier and Type | Method and Description |
---|---|
static int |
distance(CharSequence lhs,
CharSequence rhs) |
static int |
distance(CharSequence source,
CharSequence target,
int deleteCost,
int insertCost,
int replaceCost,
int swapCost) |
public static int distance(CharSequence lhs, CharSequence rhs)
public static int distance(CharSequence source, CharSequence target, int deleteCost, int insertCost, int replaceCost, int swapCost)