Algoritmo Apostolico-Giancarlo

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

In informatica, l'algoritmo Apostolico-Giancarlo è una variante dell'algoritmo di ricerca di stringhe di Boyer-Moore, la cui applicazione di base è la ricerca di occorrenze di un pattern in un testo . Come con altre ricerche di stringhe basate sul confronto, questo viene fatto allineando ad un certo indice di e controllando se si verifica una corrispondenza in quell'indice. viene quindi spostato rispetto a secondo le regole dell'algoritmo Boyer-Moore, e il processo si ripete fin quando la fine di è stata raggiunta. L'applicazione delle regole di spostamento di Boyer-Moore spesso fa sì che grandi parti del testo vengano interamente saltate.

Per quanto riguarda l'operazione di spostamento, Apostolico-Giancarlo è equivalente come funzionalità a Boyer–Moore. L'utilità di Apostolico-Giancarlo è quella di velocizzare l'operazione di match-checking a qualsiasi indice. Con Boyer-Moore, trovare un'occorrenza di in richiede che tutti gli caratteri di corrispondano. Per alcuni pattern e testi, questo è molto inefficiente, per esempio quando sia il pattern che il testo sono costituiti dallo stesso carattere ripetuto, nel qual caso Boyer-Moore viene eseguito in , dove è la lunghezza in caratteri di . Apostolico-Giancarlo lo accelera salvando il numero di caratteri abbinati agli allineamenti di in una tabella, la quale viene combinata con i dati raccolti durante la pre-elaborazione di per evitare controlli di uguaglianza ridondanti per sequenze di caratteri che si sa che corrispondono. Può essere visto come una generalizzazione della regola di Galil.

Bibliografia[modifica | modifica wikitesto]

Voci correlate[modifica | modifica wikitesto]

  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica