2009-08-20 3 views
20

Я выполняю некоторые работы с алгоритмом Укконена по созданию суффиксов, но я не понимаю некоторых частей объяснения автора для его сложности с линейным временем.Понимание алгоритма Укконена для деревьев суффиксов

Я изучил алгоритм и закодировал его, но документ, который я использую в качестве основного источника информации (связанный ниже), несколько запутан в некоторых частях, поэтому мне не совсем понятно, почему алгоритм является линейным ,

Любая помощь? Благодарю.

Ссылка на бумаге Укконена: http://www.cs.helsinki.fi/u/ukkonen/SuffixT1withFigs.pdf

+5

Любой, кто находит этот вопрос: аналогичный придумал [здесь] (http://stackoverflow.com/q/9452701/777186), и мы создаем описание алгоритма как ответ Stackoverflow [здесь] (здесь) http://stackoverflow.com/a/9513423/777186). – jogojapan

ответ

11

Найти копию Gusfield-х string algorithms textbook. У него есть лучшее изложение дерева суффикса, которое я видел. Линейность является неожиданным следствием ряда оптимизаций алгоритма высокого уровня.

+1

Есть ли анимированная версия этого ukkonen algo? Извините, я не мог понять постоянный характер функции «обновления». Я пробовал gusfield, бумагу ukkonen и google тоже: D – Seeker

+1

Мне бы хотелось посмотреть анимацию для создания обобщенного дерева суффиксов в линейном времени. Обычно текстовое объяснение не подходит мне. :) – Abhi

+1

В главе Gusfields на деревьях суффиксов есть эта досадная особенность, что он использует разные строки, чтобы проиллюстрировать разные шаги - так что вы теряете большую картину. – maasha