Implementazione generalizzata di Java Suffix Tree

Sto cercando un’implementazione Java del Generalised Suffix Tree (GST) con le seguenti caratteristiche:

Dopo la creazione della GST da 1000 stringhe, vorrei scoprire quante di queste 1000 stringhe contengono altre stringhe.

La ricerca deve essere silenziosa rapidamente, poiché devo applicare la ricerca su circa 100’000 stringhe candidate di lunghezza media 10.

Prova The Semantic Discovery Toolkit . Ha un’implementazione su text / src / java / org / sd / text / radixtree

Esiste un’implementazione Java di un albero non suffisso generale su: http://illya-keeplearning.blogspot.com/2009/04/suffix-trees-java-ukkonens-algorithm.html

Ho creato un albero suffisso in Java che consente di aggiungere facilmente la propria funzionalità di ricerca e altri algoritmi di corrispondenza. Il mio post sul blog, Suffix Trees in Java , ha una panoramica e istruzioni per scaricare la versione più recente. La mia implementazione Java si basa sull’articolo Fast String Searching With Suffix Trees di Mark Nelson.

Aggiornamento 2016-06-18

Qui puoi trovare un’implementazione di un albero del suffisso generalizzato in Java . Ho provato a documentarlo il più ansible, quindi potresti trovarlo utile.

Ecco la mia implementazione di SuffixTree: https://github.com/losvald/sglj/blob/master/src/main/java/org/sglj/util/PATTrie.java

Tra le altre cose, supporta la memorizzazione di dati arbitrari nei nodes e la ricerca dell’insieme di valori associati al prefisso.