Un exemple où l'algorithme Knuth-Morris-Pratt est plus rapide que Boyer-Moore?

10

Cette page sur l'algorithme de Knuth-Moriss-Pratt par rapport à Boyer-Moore décrit un cas possible où l'algorithme de Boyer-Moore souffre d'une petite distance de saut alors que KMP pourrait mieux fonctionner.
Je cherche un bon exemple (texte, motif) qui peut clairement démontrer ce cas.

Erb
la source
SO stackoverflow.com/questions/12656160/…
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

Réponses:

3

Il existe un article qui a fait une bonne expérience sur ces algorithmes de correspondance de chaînes pour différents modèles: " Comparaison des algorithmes de correspondance de chaînes: une aide à la sécurité du contenu de l'information "

Il existe également une étude de ces algorithmes de correspondance de chaînes pour la langue japonaise: comparaison et amélioration des algorithmes de correspondance de chaînes pour les textes japonais

J'espère que ceux-ci sont utiles pour avoir une idée de l'efficacité des algorithmes!

Reza
la source
3

Eh bien, ces modèles rendront KMP plus rapide:

T = aaaaaaaaaa P = aaaa KMP tentera 10 étapes de comparaison où Boyer-Moore prendra 28

Un autre exemple:

T = aaaaaaaaaa P = abab KMP essaiera 8 étapes de comparaison où BM essaiera 12.

Erb
la source
Dans le premier exemple, les deux algorithmes trouveront une correspondance immédiatement, au premier quart de travail - comment feraient-ils plus de 4 comparaisons?
BartoszKP