Base class for problem solvers for the longest common substring problem.
For details of the algorithm see the very nice paper by Michael Arnold and Enno Ohlebusch, 'Linear Time Algorithms for Generalizations of the Longest Common Substring Problem', Algorithmica (2011) 60; 806-818; DOI: 10.1007/s00453-009-9369-1. This code was adopted from the C++ sources from the web site of the authors at http://www.uni-ulm.de/in/theo/research/sequana.html.
Constructor | Description |
Full Usage:
LongestCommonSubstringBase(gsa)
Parameters:
GeneralizedSuffixArray
-
Generalized suffix array. It is neccessary that this was constructed with individual words.
|
![]() ![]() ![]() ![]() Initializes a new instance of the problem solver for the longest common substring problem.
|
Instance member | Description |
Full Usage:
this.CommonSubstringPositionsForMaximumNumberOfWords
Returns: IEnumerable<CommonSubstring>
|
![]() ![]() ![]() ![]() Returns the positions for common substrings for the maximum number of words that have at least one common substring. The result is identical to a call of LongestCommonSubstringBase.GetSubstringPositionsCommonToTheNumberOfWords with the argument LongestCommonSubstringBase.MaximumNumberOfWordsWithCommonSubstring
|
Full Usage:
this.MaximumNumberOfWordsWithCommonSubstring
Returns: int
|
![]() ![]() ![]() ![]() Gets or sets the maximum number of words with a common substring.
|
Full Usage:
this.StoreVerboseResults
|
![]() ![]() ![]() ![]() Gets or sets a value indicating whether to store all longest common substrings for a given number of words or just one. |