## Abstract

The Common Substring Alignment Problem is defined as follows: Given a set of one or more strings S_{1}, S_{2} . . . S_{c} and a target string T, Y is a common substring of all strings S_{i}, that is, S_{i} = B_{i}YF_{i}. The goal is to compute the similarity of all strings S_{i} with T, without computing the part of Y again and again. Using the classical dynamic programming tables, each appearance of Y in a source string would require the computation of all the values in a dynamic programming table of size O(nℓ) where ℓ is the size of Y. Here we describe an algorithm which is composed of an encoding stage and an alignment stage. During the first stage, a data structure is constructed which encodes the comparison of Y with T. Then, during the alignment stage, for each comparison of a source S_{i} with T, the precompiled data structure is used to speed up the part of Y. We show how to reduce the O(nℓ) alignment work, for each appearance of the common substring Y in a source string, to O(n)-at the cost of O(nℓ) encoding work, which is executed only once.

Original language | English |
---|---|

Pages (from-to) | 338-359 |

Number of pages | 22 |

Journal | Journal of Algorithms |

Volume | 41 |

Issue number | 2 |

DOIs | |

State | Published - Nov 2001 |

### Bibliographical note

Funding Information:3Partially supported by the Israel Science Foundation grants 173/98 and 282/01, and by the FIRST Foundation of the Isreal Academy of Science and Humanities.

Funding Information:

2Partially supported by NSF grants CCR-9610238 and CCR-0104307, by NATO Science Programme grant PST.CLG.977017, and by the Israel Science Foundation grants 173/98 and 282/01, by the FIRST Foundation of the Israel Academy of Science and Humanities, and by IBM Faculty Partnership Award.

## Keywords

- Candidate lists
- Design and analysis of algorithms
- Dynamic programming
- Monge arrays
- Repeated substrings
- Sequence comparison
- Shared substrings

## ASJC Scopus subject areas

- Control and Optimization
- Computational Mathematics
- Computational Theory and Mathematics