The 43rd Annual IEEE Symposium on Foundations of Computer Science (FOCS'02)
Implicit B-Trees: New Results for the Dictionary Problem
Vancouver, BC, Canada
November 16-November 19
ISBN: 0-7695-1822-2
We reopen the issue of finding an implicit data structure for the dictionary problem. In particular, we examine the problem of maintaining n data values in the first n locations of an array in such a way that we can efficiently perform the operations insert, delete and search. No information other than n and the data is to be retained; and the only operations which we may perform on the data values (other than reads and writes) are comparisons. Our structure supports these operations in 0(\log ^2 n/\log \log n) time, marking the first improvement on the problem since the mid 1980?s. En route we develop a number of space efficient techniques for handling segments of a large array in a memory hierarchy. We achieve a cost of 0(\log _B n) block transfers like in regular B-trees, under the realistic assumption that a block stores B = \Omega (\log n) keys, so that reporting r consecutive keys in sorted order has a cost of 0(\log _B n + {r \mathord{\left/ {\vphantom {r B}} \right. \kern-\nulldelimiterspace} B}) block transfers. Being implicit, our B-tree occupies exactly \left\lceil {{\raise0.7ex\hbox{$n$} \!\mathord{\left/ {\vphantom n B}}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{$B$}}} \right\rceil blocks after each update.
Citation:
Gianni Franceschini, Roberto Grossi, J. Ian Munro, Linda Pagli, "Implicit B-Trees: New Results for the Dictionary Problem," focs, pp.145, The 43rd Annual IEEE Symposium on Foundations of Computer Science (FOCS'02), 2002