The longest common subsequence problem revisited (Q1098310): Difference between revisions

From MaRDI portal
Import240304020342 (talk | contribs)
Set profile property.
ReferenceBot (talk | contribs)
Changed an Item
 
Property / cites work
 
Property / cites work: Bounds on the Complexity of the Longest Common Subsequence Problem / rank
 
Normal rank
Property / cites work
 
Property / cites work: Improving the worst-case performance of the Hunt-Szymanski strategy for the longest common subsequence of two strings / rank
 
Normal rank
Property / cites work
 
Property / cites work: An almost optimal algorithm for unbounded searching / rank
 
Normal rank
Property / cites work
 
Property / cites work: A representation for linear lists with movable fingers / rank
 
Normal rank
Property / cites work
 
Property / cites work: A Fast Merging Algorithm / rank
 
Normal rank
Property / cites work
 
Property / cites work: A linear space algorithm for computing maximal common subsequences / rank
 
Normal rank
Property / cites work
 
Property / cites work: Algorithms for the Longest Common Subsequence Problem / rank
 
Normal rank
Property / cites work
 
Property / cites work: New algorithms for the LCS problem / rank
 
Normal rank
Property / cites work
 
Property / cites work: A fast algorithm for computing longest common subsequences / rank
 
Normal rank
Property / cites work
 
Property / cites work: A faster algorithm computing string edit distances / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q3219751 / rank
 
Normal rank
Property / cites work
 
Property / cites work: Preserving order in a forest in less than logarithmic time and linear space / rank
 
Normal rank
Property / cites work
 
Property / cites work: The String-to-String Correction Problem / rank
 
Normal rank

Latest revision as of 14:53, 18 June 2024

scientific article
Language Label Description Also known as
English
The longest common subsequence problem revisited
scientific article

    Statements

    The longest common subsequence problem revisited (English)
    0 references
    0 references
    1987
    0 references
    This paper re-examines, in a unified framework, two classic approaches to the problem of finding a longest common subsequence (LCS) of two strings, and proposes faster implementations for both. Let \(\ell\) be the length of an LCS between two strings of length m and \(n\geq m\), respectively, and let s be the alphabet size. The first revised strategy follows the paradigm of a previous \(O(\ell n)\) time algorithm by Hirschberg. The new version can be implemented in time \(O(\ell m\cdot \min \{\log s, \log m, \log(2n/m)\})\), which is profitable when the input strings differ considerably in size (a looser bound for both versions is \(O(mn)\)). The second strategy improves on the Hunt-Szymanski algorithm. This latter takes time \(O((r+n)\log n)\), where \(r\leq mn\) is the total number of matches between the two input strings. Such a performance is quite good \((O(n \log n))\) when \(r\sim n\), but it degrades to \(\Theta(mn \log n)\) in the worst case. On the other hand the variation presented here is never worse than linear-time in the product mn. The exact time bound derived for this second algorithm is \(O(m \log n+d \log (2mn/d))\), where \(d\leq r\) is the number of dominant matches (elsewhere referred to as minimal candidates) between the two strings. Both algorithms require an \(O(n \log s)\) preprocessing that is nearly standard for the LCS problem, and they make use of simple and handy auxiliary data structures.
    0 references
    efficient merging of linear lists
    0 references
    longest common subsequence
    0 references
    0 references
    0 references

    Identifiers