Calcule a distância de edição Levenshtein entre duas strings. Veja quantas edições de caractere único são necessárias para transformar uma na outra.
Este exemplo calcula a distância Levenshtein do String Tools, já carregado com a comparação clássica de “kitten” para “sitting”. Digite duas strings e veja o número mínimo de edições de um caractere só para transformar uma na outra.
A distância Levenshtein usa programação dinâmica. Uma matriz é construída onde cada célula representa a distância de edição entre substrings. O algoritmo preenche a matriz considerando três operações em cada posição:
| Operação | Descrição | Custo |
|---|---|---|
| Insert | Adicionar um caractere | 1 |
| Delete | Remover um caractere | 1 |
| Substitute | Substituir um caractere | 1 (se for diferente) |
O valor final na célula inferior direita da matriz é a distância Levenshtein.
O exemplo clássico exige 3 edições:
Distância = 3.
O algoritmo roda em tempo e espaço O(m x n), onde m e n são os tamanhos das duas strings. Para a maioria das comparações práticas de texto (menos de 1000 caracteres), isso executa na hora no navegador.
Vários algoritmos adaptam o Levenshtein para casos de uso específicos:
A distância máxima é o tamanho da string mais longa, o que acontece quando uma string está totalmente vazia e você precisa inserir cada caractere. Para duas strings de tamanhos m e n, a distância é no máximo max(m, n).
A comparação é case-sensitive. Hello e hello têm distância 1 (a diferença de H/h). Para uma comparação case-insensitive, converta as duas strings para minúsculas primeiro.
Sim. A distância Levenshtein é muito usada em bioinformática para medir similaridade entre sequências de DNA ou proteínas. Cada caractere representa um nucleotídeo ou aminoácido, e a edit distance reflete o número de mutações entre as sequências.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.