Дерево палиндромов — различия между версиями
(→Описание структуры) |
(→Реализация) |
||
Строка 17: | Строка 17: | ||
== Реализация == | == Реализация == | ||
− | + | Название структуры данных выбрано не совсем удачно, т.к. на самом деле она представляет из себя два дерева, при чем суффиксные ссылки могут вести как в то же, так и в другое дерево. Это сделано для удобства реализации. Также в целях экономии памяти мы не будем хранить | |
+ | |||
+ | Итак, у нас будет два корня. | ||
== Оценка сложности == | == Оценка сложности == |
Версия 14:02, 6 июня 2016
Дерево палиндромов — структура данных, позволяющая решить некоторые интересные задачи на палиндромы.
Эту структуру данных придумал Михаил Рубинчик и рассказал ее на летних сборах в Петрозаводске в 2014 году.
Содержание
Описание структуры
Дерево палиндромов состоит из вершин. Каждая вершина соответствует палиндрому. Через
Ребра дерева палиндромов ориентированные и помечены символами. Ребро с символом
Также в дереве палиндромов присутствуют суффиксные ссылки. Суффиксная ссылка из вершины
Построение
Реализация
Название структуры данных выбрано не совсем удачно, т.к. на самом деле она представляет из себя два дерева, при чем суффиксные ссылки могут вести как в то же, так и в другое дерево. Это сделано для удобства реализации. Также в целях экономии памяти мы не будем хранить
Итак, у нас будет два корня.