For two strings a, b of lengths m, n, respectively, the longest common subsequence (LCS) problem consists in comparing a and b by computing the length of their LCS. In this paper, we define a generalisation, called "the all semi-local LCS problem", where each string is compared against all substrings of the other string, and all prefixes of each string are compared against all suffixes of the other string. An explicit representation of the output lengths is of size Θ ((m + n)2). We show that the output can be represented implicitly by a geometric data structure of size O (m + n), allowing efficient queries of the individual output lengths. The currently best all string-substring LCS algorithm by Alves et al., based on previous work by Schmidt, can be adapted to produce the output in this form. We also develop the first all semi-local LCS algorithm, running in time o (m n) when m and n are reasonably close. Compared to a number of previous results, our approach presents an improvement in algorithm functionality, output representation efficiency, and/or running time. © 2008 Elsevier B.V. All rights reserved.
Original languageEnglish
Pages (from-to)570-581
Number of pages12
JournalJournal of Discrete Algorithms
Volume6
Issue number4
DOIs
StatePublished - 1 Dec 2008

    Research areas

  • Longest common subsequence, Semi-local string comparison, String algorithms

ID: 127710849