Introduction to algorithms
On the Approximation of Shortest Common Supersequencesand Longest Common Subsequences
SIAM Journal on Computing
Algorithms on strings, trees, and sequences: computer science and computational biology
Algorithms on strings, trees, and sequences: computer science and computational biology
The String-to-String Correction Problem
Journal of the ACM (JACM)
Algorithms for the Longest Common Subsequence Problem
Journal of the ACM (JACM)
The Complexity of Some Problems on Subsequences and Supersequences
Journal of the ACM (JACM)
A fast algorithm for computing longest common subsequences
Communications of the ACM
A sub-quadratic sequence alignment algorithm for unrestricted cost matrices
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
The longest common subsequence problem for sequences with nested arc annotations
Journal of Computer and System Sciences - Computational biology 2002
LATIN '00 Proceedings of the 4th Latin American Symposium on Theoretical Informatics
Scaling and related techniques for geometry problems
STOC '84 Proceedings of the sixteenth annual ACM symposium on Theory of computing
A Survey of Longest Common Subsequence Algorithms
SPIRE '00 Proceedings of the Seventh International Symposium on String Processing Information Retrieval (SPIRE'00)
Algorithms and complexity for annotated sequence analysis
Algorithms and complexity for annotated sequence analysis
The constrained longest common subsequence problem
Information Processing Letters
Transposition invariant string matching
Journal of Algorithms
RNA multiple structural alignment with longest common subsequences
COCOON'05 Proceedings of the 11th annual international conference on Computing and Combinatorics
On the longest common rigid subsequence problem
CPM'05 Proceedings of the 16th annual conference on Combinatorial Pattern Matching
What makes the arc-preserving subsequence problem hard?
ICCS'05 Proceedings of the 5th international conference on Computational Science - Volume Part II
SPIRE'05 Proceedings of the 12th international conference on String Processing and Information Retrieval
Algorithms for computing the longest parameterized common subsequence
CPM'07 Proceedings of the 18th annual conference on Combinatorial Pattern Matching
Hi-index | 5.23 |
The longest common subsequence (LCS) problem is one of the classical and well-studied problems in computer science. The computation of the LCS is a frequent task in DNA sequence analysis, and has applications to genetics and molecular biology. In this paper we introduce new variants of LCS problem and present efficient algorithms to solve them. In particular we introduce the notion of gap constraints in the LCS problems. For the LCS problem with fixed gap, we first present a naive algorithm runs in O(n^2+R(K+1)^2) time, where R is the total number of ordered pairs of positions at which the two strings match and K is the fixed gap constraint. We then improve the running time to O(n^2+RK+Rloglogn) using some novel techniques. Furthermore, we present an algorithm that is independent of K and runs in O(n^2+Rloglogn) time. Using these techniques, we also present a new O(n^2) algorithm to solve the original LCS problem. Additionally, we modify our algorithms to handle elastic and rigid gaps. We also apply the notion of rigidness to the original LCS problem and modify the traditional dynamic programming solution to handle the rigidness presenting a O(n^2) algorithm to solve the problem. Finally, we also improve the solution to Rigid Fixed Gap LCS to O(n^2). Notably, in all of the above cases, we assume that the two given strings are of equal length i.e. n. But our results can be easily extended to handle two strings of different length.