Um exemplo em que o algoritmo de Knuth-Morris-Pratt é mais rápido que Boyer-Moore?


Respostas:


3

Há um artigo que fez um bom experimento sobre esses algoritmos de correspondência de strings para diferentes padrões: " Comparação de algoritmos de correspondência de strings: uma ajuda à segurança do conteúdo da informação "

Também há um estudo desses algoritmos de correspondência de strings para o idioma japonês: Comparação e aprimoramento de algoritmos de correspondência de strings para textos em japonês

Espero que sejam úteis para entender a eficiência dos algoritmos!


3

Bem, esses padrões farão o KMP funcionar mais rápido:

T = aaaaaaaaaa P = aaaa O KMP tentará 10 etapas de comparação onde Boyer-Moore levará 28

Outro exemplo:

T = aaaaaaaaaa P = abab O KMP tentará 8 comparar as etapas em que BM tentará 12.


No primeiro exemplo, os dois algoritmos encontrarão uma correspondência imediatamente, no primeiro turno - como eles fariam mais de 4 comparações?
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.