Изменения

Перейти к: навигация, поиск

Сжатое суффиксное дерево

208 байт убрано, 14:02, 1 июня 2012
Нет описания правки
==Определение==
{{Определение
|definition =
'''Суффиксное дерево''' (сжатое суффиксное дерево) <tex>T</tex> для строки <tex>s</tex> (где <tex>|s| = n</tex>) {{---}} дерево с <tex>n</tex> листьями, каждая внутренняя вершина которого имеет не меньше двух детей, а каждое ребро помечено непустой подстрокой строки <tex>s</tex>. Два ребра, выходящие из одной вершины, не могут иметь подстрок, начинающихся с одного и того же символа.
Такое дерево, как и суффиксный бор, содержит все суффиксы строки <tex>s</tex>, причем каждый суффикс заканчивается точно в листе и нигде кроме него.}}
==Защитный символ==Сжатое суффиксное дерево, как и бор, содержит все суффиксы строки <tex>s</tex>, причем каждый суффикс заканчивается точно в листе и нигде кроме него. [[Файл:Suffix_tree_3.png|thumb|right|Суффиксное дерево для строки <tex>xabxa</tex> с защитным символом]]По определению суффиксное Рассмотрим дерево существует не для любой строки <tex>sxabxa</tex>: если один суффикс строки совпадает с префиксом другого, то построить такое суффиксное дерево невозможно. Например, для строки <tex>xabxa</tex> У него суффикс <tex>xa</tex> является префиксом суффикса <tex>xabxa.</tex> , значит, этот суффикс не закачивается в листе. Для решения проблемы в конце строки <tex>s</tex> добавляется добавляют символ, не входящий в исходный алфавит: '''''защитный''''' символ. Как правило, это <tex>\$</tex>. Любой суффикс строки с защитным символом действительно заканчивается в листе и только в листе.
Далее <tex>n</tex> - длина строки <tex>s</tex> с защитным символом.
80
правок

Навигация