Double-ended palindromic trees in linear time

The palindromic tree (a.k.a. eertree) is a data structure that provides access to all palindromic substrings of a string. In this paper, we propose a dynamic version of eertree, called double-ended eertree, which supports online operations on the stored string, including double-ended queue operation...

Full description

Saved in:
Bibliographic Details
Published in:Information and computation Vol. 307; p. 105379
Main Authors: Wang, Qisheng, Yang, Ming, Zhu, Xinrui
Format: Journal Article
Language:English
Published: Elsevier Inc 01.11.2025
Subjects:
ISSN:0890-5401
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:The palindromic tree (a.k.a. eertree) is a data structure that provides access to all palindromic substrings of a string. In this paper, we propose a dynamic version of eertree, called double-ended eertree, which supports online operations on the stored string, including double-ended queue operations, counting distinct palindromic substrings, and finding the longest palindromic prefix/suffix. At the heart of our construction, we identify a new class of substring occurrences, called surfaces, that are palindromic substring occurrences that are neither prefixes nor suffixes of any other palindromic substring occurrences, which is of independent interest. Surfaces characterize the link structure of all palindromic substrings in the eertree, thereby allowing a linear-time implementation of double-ended eertrees through a linear-time maintenance of surfaces.
ISSN:0890-5401
DOI:10.1016/j.ic.2025.105379