Aportación a Función De Levenshtein

Páginas: 3 (530 palabras) Publicado: 23 de octubre de 2011
''Este ejemplo lo tengo tomado de todo lo que tengo leido de "La distancia de Levenshtein"
''Inicio de mis búsquedas por la red "Búsquedas fonéticas", "Buscar similes", y por fin "Búsquedas poraproximación"''''http://www.google.es/#hl=es&source=hp&biw=1277&bih=536&q=distancia+de+levenshtein+algoritmo&rlz=1R2SMSN_esES359&aq=3&aqi=g4&aql=&oq=distancia+de+lev&fp=ba2fe5206a5c5dd
''http://en.wikibooks.org/wiki/Algorithm_implementation/Strings/Levenshtein_distance 'Esta es la página Web del cual procede
'Visual Basic for Applications (no Damerauextension) 'Este es el ejemplo tomado

'VIMIPAS decide cambiar los tipos de las variables a Byte, pues jamás se producirán (en este caso que se evalua al menos)
'valores inferiores a 0 ni superiores a 225que soporta Byte. La idea es mayor velocidad a costa de menores recursos usados también

Function LEVENSHTEIN(A As String, B As String) As Byte
Dim iFila As Byte, jColumna As Byte, cost As Byte,D() As Byte, min1 As Byte, min2 As Byte, min3 As Byte, LaColum As Byte
'If StrComp(A, B) = 0 Then Exit Function 'ESTAMOS HABLANDO DE QUE AMBAS PALABRAS SON IDÉNTICAS. 'Aportación de VIMIPASLEVENSHTEIN = 9 'ASI CONSIGO QUE LEVENHSTEIN TENGA UN RESULTADO MAYOR A 2 SI SALIMOS DE LA FUNCIÓN ANTES DE SU TÉRMINO NATURAL

''''''''''''VEAMOS SI NOS QUITAMOS ALGO MAS DE ENCIMA
If Len(A) <= Len(B)Then 'Esta operación me indica la columna de entrada que voy a evaluar
For iFila = 1 To Len(B)
If InStr(A, Mid(B, iFila, 1)) = 0 Then cost = cost + 1
If cost > 2 Then ExitFunction
Next
LaColum = 3 + (Len(B) - Len(A)) 'Para el caso en que sea mayor/menor la columna que se evalua. No podemos obtener columna inversa
Else
For iFila = 1 To Len(A)
IfInStr(B, Mid(A, iFila, 1)) = 0 Then cost = cost + 1
If cost > 2 Then Exit Function
Next
LaColum = 3 - (Len(A) - Len(B))
End If
''''''''''''HASTA AQUI

ReDim D(Len(A), Len(B))...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Aportacion
  • APORTACIOn
  • Aportacion
  • aportacion
  • mi aportacion
  • Aportacion
  • Aportacion
  • aportacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS