Суффиксный массив — различия между версиями
| Строка 17: | Строка 17: | ||
== Применения == | == Применения == | ||
* Позволяет найти все вхождения образца <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>lcp[1 .. |s| - 1]</tex>, где <tex>lcp[i]</tex> - длина наибольшего общего префикса суффиксов <tex>suf[i]</tex> и <tex>suf[i | + | * Массивом <tex>lcp</tex> (longest common prefix) для строки <tex>s</tex> называется массив <tex>lcp[1 .. |s| - 1]</tex>, где <tex>lcp[i]</tex> - длина наибольшего общего префикса суффиксов <tex>suf[i]</tex> и <tex>suf[i + 1]</tex> строки <tex>s</tex>.<br>Суффиксный массив позволяет построить массив <tex>lcp</tex> для строки <tex>s</tex> за <tex>O(|s|)</tex>. |
Версия 18:02, 10 мая 2011
| Определение: |
| Суффиксным массивом для строки называется такая перестановка чисел от до , что - -ый суффикс в лексикографическом порядке. |
Суффиксный массив для строки может быть построен за .
Пример
. Суффиксы в лексикографическом порядке:
1)
2)
3)
4)
5)
6)
7)
Значит суффиксный массив для строки равен
Применения
- Позволяет найти все вхождения образца в строку за время
- Массивом (longest common prefix) для строки называется массив , где - длина наибольшего общего префикса суффиксов и строки .
Суффиксный массив позволяет построить массив для строки за .