← capítulo

Aho-Corasick: búsqueda multi-patrón

Encuentra miles de patrones en UNA pasada. KMP con un trie. El costo de búsqueda no depende de cuántos patrones sean.

Tres capas

Mira al autómata escanear

Diccionario {he, she, his, hers}, texto 'ushers'. ◆ = aquí termina un patrón. 'she' dispara she + he (output link); 'r' sigue un failure link hasta 'her'.

Una pasada vs k pasadas

Aho-Corasick: plana (una pasada, sin importar cuántos patrones). 500 patrones → 260× menos caracteres examinados.

Dos cosas que hay que hacer bien

Para llevar

El tema del bloque: precalcula ESTRUCTURA antes del escaneo para abaratar el matching. Tabla de KMP · rolling hash · tabla de saltos · índice de sufijos · este autómata — todos la misma jugada. Bloque de cadenas terminado. Siguiente bloque: los paradigmas detrás de los algoritmos.