Суффиксный бор
Версия от 06:10, 7 марта 2011; Igor buzhinsky (обсуждение | вклад) (Новая страница: «{{В разработке}} '''Суффиксный бор''' (suffix trie) - бор, содержащий все суффиксы данной строки. П…»)
Эта статья находится в разработке!
Суффиксный бор (suffix trie) - бор, содержащий все суффиксы данной строки.
По определению, в суффиксном боре для строки s содержатся все строки
. Сделаем следующее наблюдение: существование в боре строки означает также существование в нем всех строк вида (нужно только пометить все вершины, соответствующие этой строке, терминальными). Пометив все вершины суффиксного бора терминальными, получим бор для всех подстрок строки (тогда корень будет соответствовать пустрой строке .Свойства
Суффиксный бор для строки
:- Можно использовать для поиска образца в строке за время .
- Можно построить за время , последовательно добавив все суфиксы .
- Имеет порядка вершин.
Хранение в памяти
Пусть сжатый суффиксный бор.
. Из третьего свойства следует, что для хранения суффиксного бора в худшем случае потребуется памяти. Если не хранить массив переходов по символам для вершин, где такой переход единственный, получаем оценку . Улучшением суффиксного бора, расходующим всего памяти, является