Koncepcyjnie proste konstrukcje drzewne z sufiksem czasu liniowego

13

W 1973 r. Weiner przedstawił pierwszą konstrukcję drzewek z przyrostkami. Algorytm został uproszczony w 1976 r. Przez McCreighta, aw 1995 r. Przez Ukkonen. Niemniej jednak uważam, że algorytm Ukkonen jest stosunkowo zaangażowany koncepcyjnie.

Czy istnieją uproszczenia algorytmu Ukkonen od 1995 roku?

Randomblue
źródło
4
Farach et el 1998. Myślę, że to dobre miejsce, aby zacząć czytać: scholar.google.co.uk/…
Radu GRIGore

Odpowiedzi:

9

Nie jestem pewien, czy były jakieś nowe wyniki bezpośrednio upraszczające budowę drzewek sufiksów. Jednak co najmniej jeden wynik dał bardzo prosty algorytm do konstruowania tablic sufiksów w czasie liniowym.

Zauważ, że między tymi dwiema strukturami danych istnieje więcej niż koncepcyjna równoważność, ponieważ możesz użyć tablicy sufiksów (z czasem do zapytania o najdłuższy wspólny prefiks), aby zbudować równoważne drzewo sufiksów. To powinno być stosunkowo proste ćwiczenie, ale w razie potrzeby mogę podać więcej szczegółów.O(1)

Ponadto ze względów praktycznych jeszcze łatwiej jest budować tablice sufiksów w czasie , ale myślę, że przechodzę tutaj nieco poza tematem.O(nlgn)

zotachidil
źródło
1
Czy mógłbyś wskazać wskaźnik na łatwiejszy sposób budowania tablic sufiksów w czasie O (N lg N)?
Randomblue
1
Oznacz wszystkie sufiksy o długości 2 ^ k liczbą całkowitą, tak aby etykiety odpowiadały relacjom kolejności między sufiksami. Pierwszy krok (k = 0) jest oczywisty. Aby obliczyć etykiety w kroku k, użyj etykiet z kroku k-1 i wykonaj sortowanie radix. Ten artykuł powinien być łatwy do zrozumienia: webglimpse.net/pubs/suffix.pdf
zotachidil
7

Oprócz tego, o czym wspomniano ( Kärkkäinen i Sanders, 2003 ), myślę, że doceniłbyś „nowszą” wersję autorstwa Kärkkäinen, Sanders i Burkhard, 2006 . Algorytm zasadniczo podąża za strukturą algorytmu Faracha. Jest to prawdopodobnie łatwiejsze koncepcyjnie, ale prawdziwą zaletą jest to, że zapewniają one czytelnikowi implementację algorytmu. To tylko około 50 linii C ++, więc w rzeczywistości nie ma żadnych ukrytych szczegółów.

Juho
źródło