Sparse dynamic programming I: linear cost functions
Journal of the ACM (JACM)
Sparse dynamic programming II: convex and concave cost functions
Journal of the ACM (JACM)
A theory of parameterized pattern matching: algorithms and applications
STOC '93 Proceedings of the twenty-fifth annual ACM symposium on Theory of computing
Algorithms on strings, trees, and sequences: computer science and computational biology
Algorithms on strings, trees, and sequences: computer science and computational biology
String editing and longest common subsequences
Handbook of formal languages, vol. 2
Serial computations of Levenshtein distances
Pattern matching algorithms
Chaining multiple-alignment fragments in sub-quadratic time
Proceedings of the sixth annual ACM-SIAM symposium on Discrete algorithms
A fast algorithm for computing longest common subsequences
Communications of the ACM
Data Structures and Algorithms
Data Structures and Algorithms
Optimal evolutionary tree comparison by sparse dynamic programming
SFCS '94 Proceedings of the 35th Annual Symposium on Foundations of Computer Science
LCS Approximation via Embedding into Local Non-repetitive Strings
CPM '09 Proceedings of the 20th Annual Symposium on Combinatorial Pattern Matching
EuroMPI'10 Proceedings of the 17th European MPI users' group meeting conference on Recent advances in the message passing interface
LCS approximation via embedding into locally non-repetitive strings
Information and Computation
A Dichotomic Search Algorithm for Mining and Learning in Domain-Specific Logics
Fundamenta Informaticae - Advances in Mining Graphs, Trees and Sequences
Hi-index | 0.00 |
Sparse Dynamic Programming has emerged as an essential tool for the design of efficient algorithms for optimization problems coming from such diverse areas as Computer Science, Computational Biology and Speech Recognition [7,11,15]. We provide a new Sparse Dynamic Programming technique that extends the Hunt-Szymanski [2,9,8] paradigm for the computation of the Longest Common Subsequence (LCS) and apply it to solve the LCS from Fragments problem: given a pair of strings X and Y (of length n and m, resp.) and a set M of matching substrings of X and Y, find the longest common subsequence based only on the symbol correspondences induced by the substrings. This problem arises in an application to analysis of software systems. Our algorithm solves the problem in O(|M| log |M|) time using balanced trees, or O(|M| log logmin(|M|;nm=|M|)) time using Johnson's version of Flat Trees [10]. These bounds apply for two cost measures. The algorithm can also be adapted to finding the usual LCS in O((m + n) log |Σ| + |M| log |M|) using balanced trees or O((m + n) log |Σ| + |M| log logmin(|M|; nm=|M|)) using Johnson's Flat Trees, where M is the set of maximal matches between substrings of X and Y and Σ is the alphabet.