Cache-Oblivious Iterated Predecessor Queries via Range Coalescing [chapter]

Erik D. Demaine, Vineet Gopal, William Hasenplaugh
2015 Lecture Notes in Computer Science  
In this paper we develop an optimal cache-oblivious data structure that solves the iterated predecessor problem. Given k static sorted lists L1, L2, . . . , L 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 B+1 n + k/B) memory transfers for a query on a cache of block size B, which is information-theoretically optimal. The
more » ... lescing 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 2 .
doi:10.1007/978-3-319-21840-3_21 fatcat:a2mvycosyvhm7kphnmcypvl4um