Abstract

Palindromes are strings that read the same forward and backward. Problems of computing palindromic structures in strings have been studied for many years with the motivation of their application to biology. The longest palindrome problem is one of the most important and classical problems regarding palindromic structures, that is, to compute the longest palindrome appearing in a string T of length n. The problem can be solved in O(n) time by the famous algorithm of Manacher (1975) [27]. This paper generalizes the longest palindrome problem to the problem of finding the top-k longest palindromes in an arbitrary substring, including the input string T itself. The internal top-k longest palindrome query is, given a substring T[i..j] of T and a positive integer k as a query, to compute the top-k longest palindromes appearing in T[i..j]. This paper proposes a linear-size data structure that can answer internal top-k longest palindromes query in optimal O(k) time. Also, given the input string T, our data structure can be constructed in O(nlog⁡n) time. For k=1, the construction time is reduced to O(n).

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call