Суффиксный массив — различия между версиями
м |
|||
Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
− | Суффиксным массивом для строки <tex>s[1 .. n]</tex> называется такая перестановка <tex>suf</tex> чисел от <tex>1</tex> до <tex>n</tex>, что <tex>s[suf[i] .. n]</tex> - <tex>i</tex>-ый суффикс в лексикографическом порядке. | + | Суффиксным массивом для строки <tex>s[1 .. n]</tex> называется такая перестановка <tex>suf</tex> чисел от <tex>1</tex> до <tex>n</tex>, что <tex>s[suf[i] .. n]</tex> {{---}} <tex>i</tex>-ый суффикс в лексикографическом порядке. |
}} | }} | ||
Суффиксный массив для строки <tex>s</tex> может быть построен за <tex>O(|s|)</tex>. | Суффиксный массив для строки <tex>s</tex> может быть построен за <tex>O(|s|)</tex>. |
Версия 18:16, 28 июня 2011
Определение: |
Суффиксным массивом для строки | называется такая перестановка чисел от до , что — -ый суффикс в лексикографическом порядке.
Суффиксный массив для строки
может быть построен за .Пример
1)
2)
3)
4)
5)
6)
7)
Значит суффиксный массив для строки равен
Применения
- Позволяет найти все вхождения образца в строку за время
- Позволяет вычислить (longest common prefix) для всех соседних в лексикографическом порядке суффиксов строки за , то есть построить массив , где - длина наибольшего общего префикса суффиксов и .