Linear-space LCS enumeration with quadratic-time delay for two strings
By: Yoshifumi Sakai
Potential Business Impact:
Finds shared patterns in long texts faster.
Suppose we want to seek the longest common subsequences (LCSs) of two strings as informative patterns that explain the relationship between the strings. The dynamic programming algorithm gives us a table from which all LCSs can be extracted by traceback. However, the need for quadratic space to hold this table can be an obstacle when dealing with long strings. A question that naturally arises in this situation would be whether it is possible to exhaustively search for all LCSs one by one in a time-efficient manner using only a space linear in the LCS length, where we treat read-only memory for storing the strings as excluded from the space consumed. As a part of the answer to this question, we propose an $O(L)$-space algorithm that outputs all distinct LCSs of the strings one by one each in $O(n^2)$ time, where the strings are both of length $n$ and $L$ is the LCS length of the strings.
Similar Papers
Space-Efficient and Output-Sensitive Algorithms for the Longest Common Bitonic Subsequence
Data Structures and Algorithms
Finds patterns that go up then down in data.
A Space-Efficient Algorithm for Longest Common Almost Increasing Subsequence of Two Sequences
Data Structures and Algorithms
Finds longest shared number list with a small difference.
The Complexity of Maximal Common Subsequence Enumeration
Data Structures and Algorithms
Finds important patterns in data faster.