Contoh di mana Algoritma Knuth-Morris-Pratt lebih cepat daripada Boyer-Moore?

10

Halaman ini tentang Algoritma Knuth-Moriss-Pratt dibandingkan dengan Boyer-Moore menjelaskan kemungkinan kasus di mana algoritma Boyer-Moore menderita dari jarak lompatan kecil sementara KMP dapat bekerja lebih baik.
Saya mencari contoh yang bagus (teks, pola) yang dapat dengan jelas menunjukkan kasus ini.

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

Jawaban:

3

Pola-pola ini akan membuat KMP bekerja lebih cepat:

T = aaaaaaaaaa P = aaaa KMP akan mencoba 10 langkah pembandingan dimana Boyer-Moore akan mengambil 28

Contoh lain:

T = aaaaaaaaaa P = abab KMP akan mencoba 8 membandingkan langkah-langkah di mana BM akan mencoba 12.

Erb
sumber
Pada contoh pertama, kedua algoritma akan menemukan kecocokan segera, pada shift pertama - bagaimana mereka membuat lebih dari 4 perbandingan?
BartoszKP