Algorithme de Baeza-Yates-Gonnet

From Wikipedia, the free encyclopedia

L'algorithme de Baeza-Yates-Gonnet plus connu sous le nom de Shift-Or ou encore Bitap est un algorithme de recherche de sous-chaîne. Sa version en recherche exacte a été publiée par Bálint Dömölki en 1964 avant d'être adaptée en 1996 par Ricardo Baeza-Yates et Gaston Gonnet pour satisfaire une recherche approximative.

L'algorithme utilise des opérations bit à bit ce qui lui permet d'atteindre une bonne performance. Cependant une limitation inhérente est que la sous-chaîne ne peut dépasser la taille d'un mot machine.

Une autre force de Shift-Or est sa capacité à être facilement adapté pour faire des recherches approximatives.

Le pré-traitement construit une table de masques de la taille de l'alphabet ainsi qu'une table R de bits de la taille d'un mot (32/64 bits en général).

Exemple de recherche exacte

Complexité

Implémentation

Related Articles

Wikiwand AI