Изменения

Перейти к: навигация, поиск

Турбо-алгоритм Бойера-Мура

252 байта убрано, 20:13, 25 апреля 2016
м
Применение турбо-сдвига в случае |v| < |u|
===Применение турбо-сдвига в случае |v| < |u|===
При <tex>|v| < |u|</tex>, если сдвиг длина сдвига плохого символа больше, чем длина сдвига хорошего суффикса и длины турбо-сдвига, то совершаемый сдвиг будет длина фактического сдвига должна быть больше либо равен или равна <tex>|u| - + 1</tex>. В Действительно, в этом случае символы <tex>c</tex> два символа с и <tex>d</tex> различны, так как мы предположили, что предыдущий сдвиг был сдвигом хорошего сдвиг хороший суффикса. Тогда сдвиг больший, чем турбо-сдвиг, но меньший <tex>|u| + 1</tex> совместит <tex>c</tex> и <tex>d</tex> с одним и тем же символом <tex>v</tex>. Значит, если сдвиг плохого символа больше, то мы можем применить сдвиг больший либо равный <tex>|u| + 1</tex>.
[[Файл:Tbm2.png|800px|center]]
Нельзя совместить символы <tex>c \neq d</tex> с одним и тем же символом <tex>v</tex>.
251
правка

Навигация