distancia de edición
TRANSCRIPT
Lizbeth Treviño Treviño 1462274
Carmen Suarez Palomares 1462633
Jorge Salinas Molano 1462329
Materia:Lenguajes de Programación
Hora: Martes m1 –m3
Maestra: Dra. Elisa Schaeffer
¿Qué es?
Se le llama así al número mínimo de operaciones necesarias para transformar una cadena de caracteres en otra
Esta distancia se calcula contando las transformaciones que necesita una de las cadenas para obtener la otra y las diferentes transformaciones que se pueden hacer son:
• Eliminación
• Sustitución
• Inserción
Su nombre se debe al matemático ruso Vladimir Levenshtein, quien creo este algoritmo en 1965
Este algoritmo utiliza una matriz de tamaño (n + 1) × (m + 1),
donde n y m son las longitudes de los cadenas que se comparan.
EJEMPLOS
Int DistanciaEdicion(char pal1[], char pal2[])Int matriz[(strlen(pal1))+1][(strlen(pal2))+1]Int i,j,c
De i = 0 hasta strlen(pal1)matriz[i][0] = i
De j = 0 hasta strlen(pal2)matriz[0][j] = j
De i = 1 hasta strlen(pal1)De j = 1 hasta strlen(pal2)
si pal1[i]==pal2[j] Entonces c = 0si no c = 1
matriz[i][j] = minimo{matriz[i-1][j]+1, Eliminarmatriz[i][j-1]+1, Insertarmatriz[i-1][j-1]+c Sustitución}
Return matriz[strlen(pal1)][strlen(pal2)]