Computer Science > Data Structures and Algorithms
[Submitted on 11 Jul 2012 (this version), latest version 17 Nov 2012 (v2)]
Title:On Optimal Top-K String Retrieval
View PDFAbstract:Let ${\cal{D}}$ = $\{d_1, d_2, d_3, ..., d_D\}$ be a given set of $D$ documents of total length $N$. The top-$K$ document retrieval problem is to index $\cal{D}$ such that when a pattern $P$ and a parameter $K$ comes as a query, the index returns the $K$ most relevant documents to the pattern $P$ (in sorted order). Hon et al. \cite{HSV09} gave the first linear space framework to solve this problem in $O(|P| + K\log K)$ time. This was improved by Navarro and Nekrich \cite{NN12} to $O(|P| + K)$. In these papers, first a pattern matching is done and then the documents are retrieved based on the locus of the pattern. During the retrieval phase, the factor $O(P)$ is used to bound the query time. Once one considers word-packing in RAM or external memory model, this factor is no longer optimal. Besides many applications require retrieval to be independent of pattern searching. We show a linear index which takes strictly $O(K)$ time, once the locus of pattern match is given. Separately, we also give an external memory linear space index taking near-optimal $O(|P|/B + \log_B N +\log\log B + K/B)$ I/Os (outputs not sorted). Our results are surprising in the sense that they defy the usual range searching bounds. Our techniques also have implications in cache-oblivious model.
Submission history
From: sharma V. Thankachan Mr [view email][v1] Wed, 11 Jul 2012 13:30:06 UTC (144 KB)
[v2] Sat, 17 Nov 2012 15:55:16 UTC (221 KB)
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
Connected Papers (What is Connected Papers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.