Изменения

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

Алгоритм Апостолико-Крочемора

1367 байт добавлено, 22:05, 17 марта 2016
Пример
|[[Файл:Apostolico-Crochemore-step-1.png|500px]]
|<tex>(1, 0, 0)</tex>
|step Подставив шаблон к позиции <tex>0</tex> получим, что <tex>x[1] \neq y[1]</tex>. Вычислив сдвиг, получим <tex>j = 1</tex>.
|-align="center"
|[[Файл:Apostolico-Crochemore-step-2.png|500px]]
|<tex>(1, 1, 0)</tex>
|step 2Подставив шаблон к позиции <tex>1</tex> получим, что <tex>x[0, \ldots , 3] = y[1, \ldots , 4]</tex>. Следовательно, <tex>x</tex> подстрока <tex>y</tex> в позиции <tex>1</tex>. Вычислив сдвиг, получим <tex>j = 4</tex>.
|-align="center"
|[[Файл:Apostolico-Crochemore-step-3.png|500px]]
|<tex>(1, 4, 1)</tex>
|step 3Подставив шаблон к позиции <tex>4</tex> получим, что <tex>x[1] \neq y[5]</tex>. Вычислив сдвиг, получим <tex>j = 5</tex>.
|-align="center"
|[[Файл:Apostolico-Crochemore-step-4.png|500px]]
|<tex>(1, 5, 0)</tex>
|step 4Подставив шаблон к позиции <tex>5</tex> получим, что <tex>x[1] \neq y[6]</tex>. Вычислив сдвиг, получим <tex>j = 6</tex>.
|-align="center"
|[[Файл:Apostolico-Crochemore-step-5.png|500px]]
|<tex>(1, 6, 0)</tex>
|step 5Подставив шаблон к позиции <tex>6</tex> получим, что <tex>x[1] \neq y[7]</tex>. Вычислив сдвиг, получим <tex>j = 7</tex>.
|-align="center"
|[[Файл:Apostolico-Crochemore-step-6.png|500px]]
|<tex>(1, 7, 0)</tex>
|step 6Подставив шаблон к позиции <tex>7</tex> получим, что <tex>x[1] \neq y[8]</tex>. Вычислив сдвиг, получим <tex>j = 8</tex>.
|-align="center"
|[[Файл:Apostolico-Crochemore-step-7.png|500px]]
|<tex>(1, 8, 0)</tex>
|step 7Подставив шаблон к позиции <tex>8</tex> получим, что <tex>x[0, \ldots , 3] = y[8, \ldots , 11]</tex>. Следовательно, <tex>x</tex> подстрока <tex>y</tex> в позиции <tex>8</tex>.
|-
|}
59
правок

Навигация