zbMATH — the first resource for mathematics

Palindrome recognition in the streaming model. (English) Zbl 1359.68330
Mayr, Ernst W. (ed.) et al., 31st international symposium on theoretical aspects of computer science, STACS’ 14, Lyon, France, March 5–8, 2014. Wadern: Schloss Dagstuhl – Leibniz Zentrum für Informatik (ISBN 978-3-939897-65-1). LIPIcs – Leibniz International Proceedings in Informatics 25, 149-161 (2014).
Summary: A palindrome is defined as a string which reads forwards the same as backwards, like, for example, the string “racecar”. In the Palindrome Problem, one tries to find all palindromes in a given string. In contrast, in the case of the Longest Palindromic Substring Problem, the goal is to find an arbitrary one of the longest palindromes in the string.
In this paper we present three algorithms in the streaming model for the the above problems, where at any point in time we are only allowed to use sublinear space. We first present a one-pass randomized algorithm that solves the Palindrome Problem. It has an additive error and uses \(O(\sqrt {n})\) space. We also give two variants of the algorithm which solve related and practical problems. The second algorithm determines the exact locations of all longest palindromes using two passes and \(O(\sqrt {n})\) space. The third algorithm is a one-pass randomized algorithm, which solves the Longest Palindromic Substring Problem. It has a multiplicative error using only \(O(\log(n))\) space.
For the entire collection see [Zbl 1294.68025].

68W32 Algorithms on strings
68W20 Randomized algorithms
68W40 Analysis of algorithms
Full Text: DOI