Изменения

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

Алгоритм Райта

69 байт добавлено, 00:30, 31 марта 2016
Пример
Пусть нам дана строка <tex>y = GCATCGCAGAGAGTATACAGTACG</tex> и образец <tex>x=GCAGAGAG</tex>
[[Файл:RaitaPre.png|thumb|centerleft|300px|Массив <tex>bmBc</tex> после фазы препроцессинга]] Рассмотрим шаги алгоритма:
{| class = "wikitable"
! Изображение !! <tex>(j, bmBc[y[j]])</tex> !! Описание
|-align="leftcenter"
|[[Файл:Raita1.png|550px]]
|<tex>(7, 1)</tex>
|Делаем сравнение последних символов, оно неудачно, сдвигаемся.
|-align="leftcenter"
|[[Файл:Raita2.png|550px]]
|<tex>(8, 2)</tex>
|Последние символы совпали, сравниваем первые, сдвигаемся.
|-align="leftcenter"
|[[Файл:Raita3.png|550px]]
|<tex>(10, 2)</tex>
|Последние символы совпали, сравниваем первые, сдвигаемся.
|-align="leftcenter"
|[[Файл:Raita4.png|550px]]
|<tex>(12, 2)</tex>
|Совпали последний, первый и средний символы, пробегаемся по всему шаблону и сравниваем символы. Нашли строчку в тексте. Продолжим работу (для примера, в обычном варианте на этом этапе мы можем выйти, если требуется найти только одно вхождение) и сдвинемся.
|-align="leftcenter"
|[[Файл:Raita5.png|550px]]
|<tex>(14, 1)</tex>
|Делаем сравнение последних символов, оно неудачно, сдвигаемся.
|-align="leftcenter"
|[[Файл:Raita6.png|550px]]
|<tex>(15, 8)</tex>
|Делаем сравнение последних символов, оно неудачно, сдвигаемся.
|-align="leftcenter"
|[[Файл:Raita7.png|550px]]
|<tex>(23, 2)</tex>
317
правок

Навигация