Суффиксный массив — различия между версиями
(→Применения) |
(→Определение) |
||
Строка 2: | Строка 2: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
− | '''Cуффиксным массивом''' строки <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>.}} | + | '''Cуффиксным массивом''' (англ. ''suffix array'') строки <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>.}} |
== Пример == | == Пример == |
Версия 13:50, 18 марта 2015
Содержание
Определение
Определение: |
Cуффиксным массивом (англ. suffix array) строки | называется массив целых чисел от до , такой, что суффикс — -й в лексикографическом порядке среди всех непустых суффиксов строки .
Пример
1)
2)
3)
4)
5)
6)
7)
Значит, суффиксный массив для строки равен .
Применения
- Позволяет найти все вхождения образца в строку за время
- Позволяет вычислить наибольший общий префикс (англ. longest common prefix, LCP) для всех соседних в лексикографическом порядке суффиксов строки за , то есть построить массив , где — длина наибольшего общего префикса суффиксов и .
См. также
- Построение суффиксного массива с помощью стандартных методов сортировки
- Алгоритм поиска подстроки в строке с помощью суффиксного массива
Источники
- Дэн Гасфилд — Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология — СПб.: Невский Диалект; БХВ-Петербург, 2003. — 654 с: ил.
- MAXimal :: algo :: Суффиксный массив
- Википедия — Суффиксный массив
- Wikipedia — Suffix array
- Habrahabr — Суффиксный массив — удобная замена суффиксного дерева