arXiv · 1012.0280
String Matching with Inversions and Translocations in Linear Average Time (Most of the Time)
Abstract
We present an efficient algorithm for finding all approximate occurrences of a given pattern $p$ of length $m$ in a text $t$ of length $n$ allowing for translocations of equal length adjacent factors and inversions of factors. The algorithm is based on an efficient filtering method and has an $\bigO(nm\max(α, β))$-time complexity in the worst case and $\bigO(\max(α, β))$-space complexity, where $α$ and $β$ are respectively the maximum length of the factors involved in any translocation and inversion. Moreover we show that under the assumptions of equiprobability and independence of characters our algorithm has a $\bigO(n)$ average time complexity, whenever $σ= Ω(\log m / \log\log^{1-ε} m)$, where $ε> 0$ and $σ$ is the dimension of the alphabet. Experiments show that the new proposed algorithm achieves very good results in practical cases.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Szymon Grabowski, Simone Faro, Emanuele Giaquinta. 2010-12-01. String Matching with Inversions and Translocations in Linear Average Time (Most of the Time). https://doi.org/10.1016/j.ipl.2011.02.015
Cite the original work for its findings. Save a collection to share your selection of sources.