Algorithme d'Apostolico-Giancarlo

Un article de Wikipédia, l'encyclopédie libre.
Ceci est la version actuelle de cette page, en date du 15 avril 2021 à 23:13 et modifiée en dernier par CodexBot (discuter | contributions). L'URL présente est un lien permanent vers cette version.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

En informatique, l’algorithme de Apostolico–Giancarlo est une variante de l’algorithme de recherche de chaîne Boyer–Moore dont l'utilisation de base est la recherche d’occurrences d’un motif dans un texte .

Comme avec d’autres recherches de chaîne par comparaison, la recherche se fait en alignant à un index particulier de et en vérifiant s’il y a concordance à cet endroit. est ensuite décalé par rapport à en suivant les règles de l’algorithme de Boyer-Moore, et le processus se répète jusqu'à atteindre la fin de . L’application des règles de décalage de Boyer-Moore aboutit souvent à sauter complètement de grandes parties du texte. Concernant l’opération de décalage, Apostolico-Giancarlo est l’exact équivalent fonctionnel de Boyer-Moore. L'utilité de Apostolico-Giancarlo est d'accélérer l’opération de vérification de la concordance à un index donné. Avec Boyer-Moore, trouver une occurrence de dans exige que l’ensemble des caractères de corresponde explicitement. Pour certains motifs et textes, c’est très inefficace. Un exemple simple est celui où le motif et le texte consistent tous deux en un même caractère répété. Dans ce cas, Boyer-Moore s’exécute en , où est la longueur de en caractères. Apostolico-Giancarlo accélère le processus en enregistrant le nombre de caractères qui correspondent aux alignements de dans une table, qui est combinée aux données recueillies lors du pré-traitement de pour éviter les vérifications d’égalité redondantes pour les suites de caractères que l’on sait correspondre.

Bibliographie[modifier | modifier le code]