Fast Cartesian Tree Matching [article]

Siwoo Song, Cheol Ryu, Simone Faro, Thierry Lecroq, Kunsoo Park
2019 arXiv   pre-print
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
more » ... 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.
arXiv:1908.04937v1 fatcat:gpc5hxq5ufeejl6zc37eysd7ya