3 research outputs found
Maximal Common Subsequence Algorithms
A common subsequence of two strings is maximal, if inserting any character into the subsequence can no longer yield a common subsequence of the two strings. The present article proposes a (sub)linearithmic-time, linear-space algorithm for finding a maximal common subsequence of two strings and also proposes a linear-time algorithm for determining if a common subsequence of two strings is maximal
Efficient algorithms for enumerating maximal common subsequences of two strings
We propose efficient algorithms for enumerating maximal common subsequences
(MCSs) of two strings. Efficiency of the algorithms are estimated by the
preprocessing-time, space, and delay-time complexities. One algorithm prepares
a cubic-space data structure in cubic time to output each MCS in linear time.
This data structure can be used to search for particular MCSs satisfying some
condition without performing an explicit enumeration. Another prepares a
quadratic-space data structure in quadratic time to output each MCS in linear
time, and the other prepares a linear-space data structure in quadratic time to
output each MCS in linearithmic time.Comment: 23 pages, 5 Postscript figure