Finding top-k longest palindromes in substrings

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...

Full description

Saved in:
Bibliographic Details
Published in:Theoretical computer science Vol. 979; p. 114183
Main Authors: Mitani, Kazuki, Mieno, Takuya, Seto, Kazuhisa, Horiyama, Takashi
Format: Journal Article
Language:English
Published: Elsevier B.V 10.11.2023
Subjects:
ISSN:0304-3975
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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).
ISSN:0304-3975
DOI:10.1016/j.tcs.2023.114183