2009-08-20 9 views
20

Robię trochę pracy z algorytmem Ukkonena do budowania drzewek przyrostków, ale nie rozumiem niektórych części wyjaśnień autora dotyczących jego złożoności w czasie liniowym.Opis algorytmu Ukkonena dla drzewek przyrostków

Nauczyłem się algorytmu i zakodowałem go, ale papier, którego używam jako głównego źródła informacji (połączony poniżej) jest nieco mylący w niektórych częściach, więc nie jest dla mnie jasne, dlaczego algorytm jest liniowy .

Każda pomoc? Dzięki.

Link do papieru Ukkonen: http://www.cs.helsinki.fi/u/ukkonen/SuffixT1withFigs.pdf

+5

Dla każdego, kto znajdzie to pytanie: Podobny pojawił się [tutaj] (http://stackoverflow.com/q/9452701/777186) i tworzymy opis algorytmu jako odpowiedź Stackoverflow [tutaj] (http://stackoverflow.com/a/9513423/777186). – jogojapan

Odpowiedz

11

znaleźć kopię Gusfield na string algorithms textbook. Ma najlepszą ekspozycję konstrukcji drzewa sufiksów, jaką widziałem. Liniowość jest zaskakującą konsekwencją szeregu optymalizacji algorytmu wysokiego poziomu.

+1

Czy istnieje animowana wersja tego ukkonen algo? Niestety nie mogłem zrozumieć stałej natury funkcji "aktualizacji". Próbowałem też gusfield, papieru i Google'a: D – Seeker

+1

Chciałbym obejrzeć animację do budowania uogólnionego drzewa sufiksów w czasie liniowym. Ogólnie wyjaśnienie oparte na tekście nie pasuje do mojego umysłu .. :) – Abhi

+1

Rozdział Gusfieldsa na temat drzewek sufiksowych ma tę irytującą cechę, że używa różnych ciągów do zilustrowania różnych kroków - więc tracisz duży obraz. – maasha

Powiązane problemy