Алгоритм Укконена



© 2004 И.Р. Ахметов

Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Проектная документация
Исходные тексты
Визуализатор (online)

Аннотация

Суффиксное дерево - это структура данных, позволяющая представить строку в виде, удобном в ряде задач при ее последующей обработке. В частности, эта структура данных в настоящее время очень широко используется в вычислительной биологии. Это стало возможным благодаря алгоритмам, строящим суффиксное дерево для строки длиной n за время O(n).

В настоящей работе реализуется алгоритм, который сравнительно недавно (в 1995 году) предложил Э. Укконен. Он имеет некоторые преимущества по сравнению с ранее предложенными Вайнером и Мак-Крейгом алгоритмами. Для наглядности реализован не конечный алгоритм, а вариант, работающий за O(n2). Он более полно раскрывает сущность алгоритма, и при помощи нескольких модификаций можно уменьшить время его работы до O(n).

Реализация алгоритма выполнена при помощи технологии Vizi, в которой используется автоматный подход для построения визуализаторов, и представляет собой Java-апплет, пошагово визуализирующий работу алгоритма на разных входных данных. Документация включает описание алгоритма и апплета, а также тексты программ.