У цьому документі наведено результати вимірювання швидкостей трьох алгоритмів пошуку рядків: Knuth-Morris-Pratt, Boyer-Moore та Rabin-Karp для двох статей (існуючих та неіснуючих).
Стаття | Статус | Час виконання (секунди) |
---|---|---|
Стаття 1 | Існуючий | 0.012412 |
Стаття 1 | Неіснуючий | 0.032566 |
Стаття 2 | Існуючий | 0.025705 |
Стаття 2 | Неіснуючий | 0.045419 |
Стаття | Статус | Час виконання (секунди) |
---|---|---|
Стаття 1 | Існуючий | 0.001646 |
Стаття 1 | Неіснуючий | 0.008702 |
Стаття 2 | Існуючий | 0.003980 |
Стаття 2 | Неіснуючий | 0.012560 |
Стаття | Статус | Час виконання (секунди) |
---|---|---|
Стаття 1 | Існуючий | 0.039078 |
Стаття 1 | Неіснуючий | 0.082707 |
Стаття 2 | Існуючий | 0.070967 |
Стаття 2 | Неіснуючий | 0.111682 |
-
Knuth-Morris-Pratt:
- Найшвидший для існуючого тексту статті 1 (0.012412 сек).
- Помітно повільніший для неіснуючого тексту, особливо для статті 2 (0.045419 сек).
-
Boyer-Moore:
- Найшвидший алгоритм серед усіх протестованих.
- Значне зменшення часу виконання для існуючих текстів, зокрема статті 1 (0.001646 сек).
-
Rabin-Karp:
- Найповільніший з усіх алгоритмів, особливо для неіснуючих текстів.
- Час виконання в середньому вдвічі більший, ніж у Knuth-Morris-Pratt.
- Алгоритм Boyer-Moore демонструє найкращу продуктивність в усіх випадках, особливо для існуючих текстів.
- Knuth-Morris-Pratt є більш продуктивним для існуючих текстів, але його продуктивність знижується для неіснуючих текстів.
- Rabin-Karp, хоча і відомий своєю простотою, показує найгірші результати у всіх сценаріях тестування.