eng
Schloss Dagstuhl – Leibniz-Zentrum für Informatik
Leibniz International Proceedings in Informatics
1868-8969
2014-03-05
149
161
10.4230/LIPIcs.STACS.2014.149
article
Palindrome Recognition In The Streaming Model
Berenbrink, Petra
Ergün, Funda
Mallmann-Trenn, Frederik
Sadeqi Azer, Erfan
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 square root of 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 square root of 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.
https://drops.dagstuhl.de/storage/00lipics/lipics-vol025-stacs2014/LIPIcs.STACS.2014.149/LIPIcs.STACS.2014.149.pdf
Palindromes
Streaming Model
Complementary Palindrome