An all-substrings common subsequence algorithm

Citations of this article
Mendeley users who have this article in their library.


Given two strings A and B of lengths na and nb, na ≤ nb, respectively, the all-substrings longest common subsequence (ALCS) problem obtains, for every substring B′ of B, the length of the longest string that is a subsequence of both A and B′. The ALCS problem has many applications, such as finding approximate tandem repeats in strings, solving the circular alignment of two strings and finding the alignment of one string with several others that have a common substring. We present an algorithm to prepare the basic data structure for ALCS queries that takes O (na nb) time and O (na + nb) space. After this preparation, it is possible to build a matrix of size O (nb2) that allows any LCS length to be retrieved in constant time. Some trade-offs between the space required and the querying time are discussed. To our knowledge, this is the first algorithm in the literature for the ALCS problem. © 2007 Elsevier B.V. All rights reserved.




Alves, C. E. R., Cáceres, E. N., & Song, S. W. (2008). An all-substrings common subsequence algorithm. Discrete Applied Mathematics, 156(7), 1025–1035.

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free