Calcula la distancia de edición Levenshtein entre dos cadenas de texto. Ve cuántas inserciones, eliminaciones y reemplazos se necesitan.
Este ejemplo calcula la distancia Levenshtein de String Tools, precargado con la clásica comparación de “kitten” a “sitting”. Escribe dos strings y ve el número mínimo de ediciones de un solo carácter necesarias para transformar uno en el otro.
La distancia Levenshtein usa programación dinámica. Se construye una matriz donde cada celda representa la distancia de edición entre subcadenas. El algoritmo rellena la matriz considerando tres operaciones en cada posición:
| Operación | Descripción | Costo |
|---|---|---|
| Insert | Agregar un carácter | 1 |
| Delete | Eliminar un carácter | 1 |
| Substitute | Reemplazar un carácter | 1 (si es distinto) |
El valor final en la celda inferior derecha de la matriz es la distancia Levenshtein.
El ejemplo clásico requiere 3 ediciones:
Distancia = 3.
El algoritmo corre en tiempo y espacio O(m x n), donde m y n son las longitudes de los dos strings. Para la mayoría de comparaciones prácticas de texto (menos de 1000 caracteres), se ejecuta al instante en el navegador.
Varios algoritmos modifican Levenshtein para casos de uso específicos:
La distancia máxima es la longitud del string más largo, que ocurre cuando un string está totalmente vacío y debes insertar cada carácter. Para dos strings de longitudes m y n, la distancia es como máximo max(m, n).
La comparación distingue mayúsculas. Hello y hello tienen distancia 1 (la diferencia H/h). Para una comparación insensible a mayúsculas, convierte ambos strings a minúsculas primero.
Sí. La distancia Levenshtein se usa mucho en bioinformática para medir similitud entre secuencias de ADN o proteínas. Cada carácter representa un nucleótido o aminoácido, y la distancia de edición refleja el número de mutaciones entre secuencias.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.