vix.ing · top · new · best · stats · spec

Cartesian Tree Matching and Indexing

2019/05/22 by Sung Gwan Park, Park, Sung Gwan, Amihood Amir +5 · 3 citations
Computer Science · #Algorithms and Data Compression #Data Structures and Algorithms (cs.DS) #FOS: Computer and information sciences #Natural Language Processing Techniques #Network Packet Processing and Optimization

paper · pdf · doi:10.48550/arxiv.1905.08974

openalex publication_date 2019/05/22 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

We introduce a new metric of match, called Cartesian tree matching, which means that two strings match if they have the same Cartesian trees. Based on Cartesian tree matching, we define single pattern matching for a text of length n and a pattern of length m, and multiple pattern matching for a text of length n and k patterns of total length m. We present an O(n+m) time algorithm for single pattern matching, and an O((n+m) log k) deterministic time or O(n+m) randomized time algorithm for multiple pattern matching. We also define an index data structure called Cartesian suffix tree, and present an O(n) randomized time algorithm to build the Cartesian suffix tree. Our efficient algorithms for Cartesian tree matching use a representation of the Cartesian tree, called the parent-distance representation.

Citations

Cited by

Related