This page about Knuth-Moriss-Pratt Algorithm compared to Boyer-Moore describes a possible case where the Boyer-Moore algorithm suffers from small skip distance while KMP could perform better.
I'm looking for a good example (text,pattern) that can clearly demonstrate this case.
Asked
Active
Viewed 3,902 times
10
2 Answers
4
Well these patterns will make KMP work faster:
T=aaaaaaaaaa P=aaaa KMP will try 10 compare steps were Boyer-Moore will take 28
Another example:
T=aaaaaaaaaa P=abab KMP will try 8 compare steps where BM will try 12.
Erb
- 373
- 2
- 8
3
There is a paper that did a good experiment over these string matching algorithms for different patterns: "Comparison of string matching algorithms: an aid to information content security"
Also there is a study of these string matching algorithms for Japanese language: Comparison and Improvement of String Matching Algorithms For Japanese Texts
I hope these are useful to get a sense about algorithms efficiency!
Glorfindel
- 754
- 1
- 9
- 20
Reza
- 2,296
- 16
- 17