Dificuldade ★★☆
2 minutos de Leitura 🕒
O Algoritmo de Levenshtein é um algoritmo de programação dinâmica que calcula a distância de Levenshtein entre duas strings – o número mínimo inserções, exclusões ou substituições necessárias para transformar uma string em outra. O Algoritmo de Levenshtein funciona preenchendo iterativamente uma tabela onde cada célula representa a distância de Levenshtein entre sub-strings das duas strings de entrada. O valor final na célula inferior direita da tabela é a distância de Levenshtein entre as duas strings completas.
Verificação ortográfica – O Algoritmo de Levenshtein pode ser utilizado para sugerir correções para palavras escritas incorretamente.
Análise de DNA – O Algoritmo de Levenshtein pode ser utilizado para comparar sequências de DNA e determinar sua similaridade.
Recuperação de informação – O Algoritmo de Levenshtein pode ser utilizado para classificar ou recuperar informações relevantes baseadas em uma consulta de busca.
Reconhecimento de fala – O Algoritmo de Levenshtein pode ser utilizado para comparar a fala reconhecida com a fala esperada e corrigir possíveis erros.
Sistemas de sugestão – O Algoritmo de Levenshtein pode ser utilizado para sugerir palavras ou frases semelhantes a uma determinada string de entrada.
(n+1)
linhas e (m+1)
colunas, onde n
é o comprimento da primeira string e m
é o comprimento da segunda string.O desempenho do Algoritmo de Levenshtein é sensível somente ao comprimento m
e n
das sequências de entrada. Por esse motivo, no pior e melhor caso, o Algoritmo de Levenshtein possui um desempenho quadrático de comparações:
O(mn)
comparaçõesVeja o código completo no GitHub.