Abstract

Let tt be a permutation (that shall play the role of the {\em text}) on [n][n] and a pattern pp be a sequence of mm distinct integer(s) of [n][n], m≤nm\leq n. The pattern pp occurs in tt in position ii if and only if p1...pmp_1... p_m is order-isomorphic to ti...ti+m−1t_i... t_{i+m-1}, that is, for all 1≤k<ℓ≤m1 \leq k< \ell \leq m, pk>pℓp_k>p_\ell if and only if ti+k−1>ti+ℓ−1t_{i+k-1}>t_{i+\ell-1}. Searching for a pattern pp in a text tt consists in identifying all occurrences of pp in tt. We first present a forward automaton which allows us to search for pp in tt in O(m2log⁡log⁡m+n)O(m^2\log \log m +n) time. We then introduce a Morris-Pratt automaton representation of the forward automaton which allows us to reduce this complexity to O(mlog⁡log⁡m+n)O(m\log \log m +n) at the price of an additional amortized constant term by integer of the text. Both automata occupy O(m)O(m) space. We then extend the problem to search for a set of patterns and exhibit a specific Aho-Corasick like algorithm. Next we present a sub-linear average case search algorithm running in O(mlog⁡mlog⁡log⁡m+nlog⁡mmlog⁡log⁡m)O(\frac{m\log m}{\log\log m}+\frac{n\log m}{m\log\log m}) time, that we eventually prove to be optimal on average.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.