Суффиксный массив — различия между версиями
 (→См. Также)  | 
				|||
| Строка 19: | Строка 19: | ||
* Позволяет найти все вхождения образца <tex>p</tex> в строку <tex>s</tex> за время <tex>O(|p| + \log(|s|))</tex>  | * Позволяет найти все вхождения образца <tex>p</tex> в строку <tex>s</tex> за время <tex>O(|p| + \log(|s|))</tex>  | ||
* Позволяет вычислить <tex>lcp</tex> (longest common prefix) для всех соседних в лексикографическом порядке суффиксов строки <tex>s</tex> за <tex>O(|s|)</tex>, то есть построить массив <tex>lcp[1 .. |s| - 1]</tex>, где <tex>lcp[i]</tex> - длина наибольшего общего префикса суффиксов <tex>s[suf[i] .. |s|]</tex> и <tex>s[suf[i + 1] .. |s|]</tex>.  | * Позволяет вычислить <tex>lcp</tex> (longest common prefix) для всех соседних в лексикографическом порядке суффиксов строки <tex>s</tex> за <tex>O(|s|)</tex>, то есть построить массив <tex>lcp[1 .. |s| - 1]</tex>, где <tex>lcp[i]</tex> - длина наибольшего общего префикса суффиксов <tex>s[suf[i] .. |s|]</tex> и <tex>s[suf[i + 1] .. |s|]</tex>.  | ||
| + | |||
| + | ==Литература==  | ||
| + | Гасфилд Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология. — 2-е изд.  | ||
==См. Также==  | ==См. Также==  | ||
Версия 20:11, 1 апреля 2012
| Определение: | 
| Суффиксным массивом для строки называется такая перестановка чисел от до , что — -ый суффикс в лексикографическом порядке. | 
Суффиксный массив для строки может быть построен за .
Содержание
Пример
. Суффиксы  в лексикографическом порядке:
1) 
2) 
3) 
4) 
5) 
6) 
7) 
Значит суффиксный массив для строки  равен 
Применения
- Позволяет найти все вхождения образца в строку за время
 - Позволяет вычислить (longest common prefix) для всех соседних в лексикографическом порядке суффиксов строки за , то есть построить массив , где - длина наибольшего общего префикса суффиксов и .
 
Литература
Гасфилд Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология. — 2-е изд.