Top Banner
Distancia de Edición
6

Distancia de edición

Aug 13, 2015

Download

Business

carmensp
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Distancia de edición

Distancia de Edición

Page 2: Distancia de edición

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

Page 3: Distancia de edición

¿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

Page 4: Distancia de edició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

Page 5: Distancia de edición

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)]

Page 6: Distancia de edición

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

*Ejemplos

s i l l a0 1 2 3 4 5

s 1 0 1 2 3 4

i 2 2 0 1 2 3

l 3 3 1 0 0 1

l 4 4 2 0 0 1

o 5 5 3 1 1 1

n 6 6 4 2 2 2