1 / 8

Cadenas de Caracteres y Emparejamiento de Patrones

Cadenas de Caracteres y Emparejamiento de Patrones. Fuerza Bruta Rabin-Karp Knuth-Morris-Pratt Tries. Búsqueda de cadenas. El objetivo de búsqueda en cadenas es hallar la localización de un patrón de texto específico dentro de un texto largo (e.g., una oración, un parráfo, un libro, etc.).

una
Download Presentation

Cadenas de Caracteres y Emparejamiento de Patrones

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cadenas de Caracteres y Emparejamiento de Patrones • Fuerza Bruta • Rabin-Karp • Knuth-Morris-Pratt • Tries

  2. Búsqueda de cadenas • El objetivo de búsqueda en cadenas es hallar la localización de un patrón de texto específico dentro de un texto largo (e.g., una oración, un parráfo, un libro, etc.). • Los requisitos son velocidad y eficiencia. • Hay un gran número de algoritmos para esto, entre los cuales están Fuerza Bruta,Rabin-Karp, y Knuth-Morris-Pratt.

  3. Fuerza Bruta • El algoritmo de Fuerza Bruta compara el patrón con el texto un caracter cada vez, hasta encontrar que no coinciden los caracteres

  4. Complejidad Fuerza Bruta • Dado un patrón de M caracteres de longitud, y un texto de N caracteres de longitud: • Peor caso: compara el patrón con cada subcadena de texto de longitud M. • Complejidad: O(MN) • Mejor caso: encuentra el patrón en las primeras M posiciones del texto. • Complejidad: O(N)

  5. Rabin-Karp • Calcula un valorhash para el patrón, y para cada subsecuencia de M-caracteres de texto. • Si los valores hash son diferentes, se calcula una valor para la siguiente secuencia. • Si los valores hash son iguales se usa una comparación de Fuerza Bruta.

  6. Ejemplo Rabin-Karp • Valor Hash de “AAAAA” es 37 • Valor Hash de“AAAAH” es 100

  7. Algoritmo Knuth-Morris-Pratt • El algoritmo de búsqueda Knuth-Morris-Pratt (KMP) se diferencia del método de fuerza bruta porque mantiene una pista de información obtenida en comparaciones previas. • Se calcula una función de fallo (f) qie indica cuanto se la última comparación se puede reusar si existe un fallo.

  8. Algoritmo KMP • Complejidad: O(n + m)

More Related