Cache-Oblivious Iterated Predecessor Queries via Range Coalescing

In this paper we develop an optimal cache-oblivious data structure that solves the iterated predecessor problem. Given k static sorted lists L[subscript 1],L[subscript 2],...,L[subscript k] of average length n and a query value q, the iterated predecessor problem is to find the largest element in ea...

Full description

Bibliographic Details
Main Authors: Demaine, Erik D (Contributor), Gopal, Vineet (Contributor), Hasenplaugh, William Cleaburn (Contributor)
Other Authors: Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science (Contributor)
Format: Article
Language:English
Published: Springer Berlin / Heidelberg, 2017-07-25T19:21:39Z.
Subjects:
Online Access:Get fulltext
LEADER 01534 am a22002173u 4500
001 110844
042 |a dc 
100 1 0 |a Demaine, Erik D  |e author 
100 1 0 |a Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science  |e contributor 
100 1 0 |a Demaine, Erik D  |e contributor 
100 1 0 |a Gopal, Vineet  |e contributor 
100 1 0 |a Hasenplaugh, William Cleaburn  |e contributor 
700 1 0 |a Gopal, Vineet  |e author 
700 1 0 |a Hasenplaugh, William Cleaburn  |e author 
245 0 0 |a Cache-Oblivious Iterated Predecessor Queries via Range Coalescing 
260 |b Springer Berlin / Heidelberg,   |c 2017-07-25T19:21:39Z. 
856 |z Get fulltext  |u http://hdl.handle.net/1721.1/110844 
520 |a In this paper we develop an optimal cache-oblivious data structure that solves the iterated predecessor problem. Given k static sorted lists L[subscript 1],L[subscript 2],...,L[subscript k] of average length n and a query value q, the iterated predecessor problem is to find the largest element in each list which is less than q. Our solution to this problem, called "range coalescing", requires O(log[subscript B+1]n+k/B) memory transfers for a query on a cache of block size B, which is information-theoretically optimal. The range-coalescing data structure consumes O(kn) space, and preprocessing requires only O(kn / B) memory transfers with high probability, given a tall cache of size M=Ω(B[superscript 2]). 
546 |a en_US 
655 7 |a Article 
773 |t Workshop on Algorithms and Data Structures, WADS 2015