Алгоритм поиска подстроки в строке с помощью суффиксного массива — различия между версиями
Vincent (обсуждение | вклад) |
Vincent (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
Рассмотрим такую задачу: у нас есть образец <tex> p </tex>, строка <tex> s </tex>, [[суффиксный массив|суффиксный массив]] <tex> array </tex>, построенный для строки <tex> s </tex>. Необходимо найти все вхождения образца <tex> p </tex> в строку <tex> s </tex>. | Рассмотрим такую задачу: у нас есть образец <tex> p </tex>, строка <tex> s </tex>, [[суффиксный массив|суффиксный массив]] <tex> array </tex>, построенный для строки <tex> s </tex>. Необходимо найти все вхождения образца <tex> p </tex> в строку <tex> s </tex>. | ||
− | Для наглядности рассмотрим образец <tex> iss </tex> | + | Для наглядности рассмотрим такой пример: образец <tex> iss </tex>, строка <tex> mississippi </tex>. <br> |
+ | Вот суффиксный массив для данной строки: | ||
+ | |||
+ | {| border="1" | ||
+ | |width="20"|# | ||
+ | |width="150"|суффикс | ||
+ | |width="100"|номер суффикса | ||
+ | |- | ||
+ | |1 | ||
+ | |i | ||
+ | |11 | ||
+ | |- | ||
+ | |2 | ||
+ | |i | ||
+ | |11 | ||
+ | |- | ||
+ | |3 | ||
+ | |i | ||
+ | |11 | ||
+ | |- | ||
+ | |4 | ||
+ | |i | ||
+ | |11 | ||
+ | |- | ||
+ | |5 | ||
+ | |i | ||
+ | |11 | ||
+ | |- | ||
+ | |6 | ||
+ | |i | ||
+ | |11 | ||
+ | |- | ||
+ | |7 | ||
+ | |i | ||
+ | |11 | ||
+ | |- | ||
+ | |8 | ||
+ | |i | ||
+ | |11 | ||
+ | |- | ||
+ | |9 | ||
+ | |i | ||
+ | |11 | ||
+ | |- | ||
+ | |10 | ||
+ | |i | ||
+ | |11 | ||
+ | |- | ||
+ | |11 | ||
+ | |i | ||
+ | |11 | ||
+ | |- | ||
+ | |} |
Версия 01:14, 8 мая 2011
Рассмотрим такую задачу: у нас есть образец суффиксный массив , построенный для строки . Необходимо найти все вхождения образца в строку .
, строка ,Для наглядности рассмотрим такой пример: образец
Вот суффиксный массив для данной строки:
# | суффикс | номер суффикса |
1 | i | 11 |
2 | i | 11 |
3 | i | 11 |
4 | i | 11 |
5 | i | 11 |
6 | i | 11 |
7 | i | 11 |
8 | i | 11 |
9 | i | 11 |
10 | i | 11 |
11 | i | 11 |