Fast Cartesian Tree Matching
Abstract
Cartesian tree matching is the problem of finding all substrings of a given text which have the same Cartesian trees as that of a given pattern. So far there is one linear-time solution for Cartesian tree matching, which is based on the KMP algorithm. We improve the running time of the previous solution by introducing new representations. We present the framework of a binary filtration method and an efficient verification technique for Cartesian tree matching. Any exact string matching algorithm can be used as a filtration for Cartesian tree matching on our framework. We also present a SIMD solution for Cartesian tree matching suitable for short patterns. By experiments we show that known string matching algorithms combined on our framework of binary filtration and efficient verification produce algorithms of good performances for Cartesian tree matching.
Keywords
Cite
@article{arxiv.1908.04937,
title = {Fast Cartesian Tree Matching},
author = {Siwoo Song and Cheol Ryu and Simone Faro and Thierry Lecroq and Kunsoo Park},
journal= {arXiv preprint arXiv:1908.04937},
year = {2019}
}
Comments
14 pages, 3 figures, Submitted to SPIRE 2019