Алгоритм поиска подстроки в строке с помощью суффиксного массива — различия между версиями
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 |