Given m documents of total length n, we consider the problem of finding a longest string common to at least d≥2 of the documents. This problem is known as the \emph{longest common substring (LCS) problem} and has a classic O(n) space and O(n) time solution (Weiner [FOCS'73], Hui [CPM'92]). However, the use of linear space is impractical in many applications. In this paper we show that for any trade-off parameter 1≤τ≤n, the LCS problem can be solved in O(τ) space and O(n2/τ) time, thus providing the first smooth deterministic time-space trade-off from constant to linear space. The result uses a new and very simple algorithm, which computes a τ-additive approximation to the LCS in O(n2/τ) time and O(1) space. We also show a time-space trade-off lower bound for deterministic branching programs, which implies that any deterministic RAM algorithm solving the LCS problem on documents from a sufficiently large alphabet in O(τ) space must use Ω(nlog(n/(τlogn))/loglog(n/(τlogn)) time.
@article{arxiv.1407.0522,
title = {Sublinear Space Algorithms for the Longest Common Substring Problem},
author = {Tomasz Kociumaka and Tatiana Starikovskaya and Hjalte Wedel Vildhøj},
journal= {arXiv preprint arXiv:1407.0522},
year = {2014}
}