Class LCSubstringSolver
java.lang.Object
com.googlecode.concurrenttrees.solver.LCSubstringSolver
Finds the longest common substring in a collection of documents.
See Longest common substring problem.
This class internally extends
ConcurrentRadixTree and combines it with elements from
ConcurrentSuffixTree, but implements its own traversal algorithm.- Author:
- Niall Gallagher
-
Constructor Summary
ConstructorsConstructorDescriptionLCSubstringSolver(NodeFactory nodeFactory) Creates a newLCSubstringSolverwhich will use the givenNodeFactoryto create nodes. -
Method Summary
Modifier and TypeMethodDescriptionbooleanadd(CharSequence document) Adds aCharSequencedocument to the solver.Finds the longest common substring in the documents added to the solver so far.
-
Constructor Details
-
LCSubstringSolver
Creates a newLCSubstringSolverwhich will use the givenNodeFactoryto create nodes.- Parameters:
nodeFactory- An object which createsNodeobjects on-demand, and which might return node implementations optimized for storing the values supplied to it for the creation of each node
-
-
Method Details
-
add
Adds aCharSequencedocument to the solver.- Parameters:
document- TheCharSequenceto add to the solver- Returns:
- True if the document was added, false if it was not because it had been added previously
-
getLongestCommonSubstring
Finds the longest common substring in the documents added to the solver so far.- Returns:
- The longest common substring
-
createSetForOriginalKeys
-