Distancia de Edición
Lizbeth Aracely Treviño Treviño 1462274
Carmen Patricia Suarez Palomares
Jorge Adrian Salinas Molano
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 necesariasSe le llama así al número mínimo de operaciones necesarias
para transformar una cadena de caracteres en otrapara transformar una cadena de caracteres en otra
Esta distancia se calcula contando las transformacionesEsta distancia se calcula contando las transformaciones
que necesita una de las cadenas para obtener la otra y lasque necesita una de las cadenas para obtener la otra y las
diferentes transformaciones que se pueden hacer son:diferentes transformaciones que se pueden hacer son:
• EliminaciónEliminación
• SustituciónSustitución
• InserciónInserció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[strlen(pal1)], char pal2[strlen(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[2] Entonces c = 0
else c = 1
matriz[i][j] = minimo{
matriz[i-1][j]+1, Eliminar
matriz[i][j-1]+1, Insertar
matriz[i-1][j-1]+c Sustitución
}
Return matriz[strlen(pal1)][strlen(pal2)]
m a m a
0 1 2 3 4
p 1 1 2 3 4
a 2 2 1 2 2
P 3 3 2 2 3
a 4 4 2 3 2*
*Cambios necesarios para cambiar de mamá a papá
*Ejemplo : Calcula la distancia de edición para cambiar de la
palabra mamá a la palabra papá
m a m a
0 1 2 3 4
p 1 1 2 3 4
a 2 2 1 2 2
P 3 3 2 2 3
a 4 4 2 3 2*
*Cambios necesarios para cambiar de mamá a papá
*Ejemplo : Calcula la distancia de edición para cambiar de la
palabra mamá a la palabra papá

Distancia de edicion

  • 1.
  • 2.
    Lizbeth Aracely TreviñoTreviño 1462274 Carmen Patricia Suarez Palomares Jorge Adrian Salinas Molano Materia:Lenguajes de Programación Hora: Martes m1 –m3 Maestra: Dra. Elisa Schaeffer
  • 3.
    ¿Qué es? Se lellama así al número mínimo de operaciones necesariasSe le llama así al número mínimo de operaciones necesarias para transformar una cadena de caracteres en otrapara transformar una cadena de caracteres en otra Esta distancia se calcula contando las transformacionesEsta distancia se calcula contando las transformaciones que necesita una de las cadenas para obtener la otra y lasque necesita una de las cadenas para obtener la otra y las diferentes transformaciones que se pueden hacer son:diferentes transformaciones que se pueden hacer son: • EliminaciónEliminación • SustituciónSustitución • InserciónInserción
  • 4.
    Su nombre sedebe 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
  • 5.
    Int DistanciaEdicion(char pal1[strlen(pal1)],char pal2[strlen(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[2] Entonces c = 0 else c = 1 matriz[i][j] = minimo{ matriz[i-1][j]+1, Eliminar matriz[i][j-1]+1, Insertar matriz[i-1][j-1]+c Sustitución } Return matriz[strlen(pal1)][strlen(pal2)]
  • 6.
    m a ma 0 1 2 3 4 p 1 1 2 3 4 a 2 2 1 2 2 P 3 3 2 2 3 a 4 4 2 3 2* *Cambios necesarios para cambiar de mamá a papá *Ejemplo : Calcula la distancia de edición para cambiar de la palabra mamá a la palabra papá
  • 7.
    m a ma 0 1 2 3 4 p 1 1 2 3 4 a 2 2 1 2 2 P 3 3 2 2 3 a 4 4 2 3 2* *Cambios necesarios para cambiar de mamá a papá *Ejemplo : Calcula la distancia de edición para cambiar de la palabra mamá a la palabra papá