eng
Schloss Dagstuhl – Leibniz-Zentrum für Informatik
Leibniz International Proceedings in Informatics
1868-8969
2018-05-18
8:1
8:9
10.4230/LIPIcs.CPM.2018.8
article
Non-Overlapping Indexing - Cache Obliviously
Hooshmand, Sahar
1
Abedin, Paniz
1
Külekci, M. Oguzhan
2
Thankachan, Sharma V.
1
Dept. of Computer Science, University of Central Florida - Orlando, USA
Informatics Institute, Istanbul Technical University - Turkey
The non-overlapping indexing problem is defined as follows: pre-process a given text T[1,n] of length n into a data structure such that whenever a pattern P[1,p] comes as an input, we can efficiently report the largest set of non-overlapping occurrences of P in T. The best known solution is by Cohen and Porat [ISAAC, 2009]. Their index size is O(n) words and query time is optimal O(p+nocc), where nocc is the output size. We study this problem in the cache-oblivious model and present a new data structure of size O(n log n) words. It can answer queries in optimal O(p/(B)+log_B n+nocc/B) I/Os, where B is the block size.
https://drops.dagstuhl.de/storage/00lipics/lipics-vol105-cpm2018/LIPIcs.CPM.2018.8/LIPIcs.CPM.2018.8.pdf
Suffix Trees
Cache Oblivious
Data Structure
String Algorithms