Implicit B-trees: A new data structure for the dictionary problem

Citations of this article
Mendeley users who have this article in their library.


An implicit data structure for the dictionary problem maintains n data values in the first n locations of an array in such a way that it efficiently supports the operations insert, delete and search. No information other than that in O(1) memory cells and in the input data is to be retained; and the only operations performed on the data values (other than reads and writes) are comparisons. This paper describes the implicit B-tree, a new data structure supporting these operations in O(logBn) block transfers like in regular B-trees, under the realistic assumption that a block stores B = Ω(log n) keys, so that reporting r consecutive keys in sorted order has a cost of O(logBn+r/B) block transfers. En route a number of space efficient techniques for handling segments of a large array in a memory hierarchy are developed. Being implicit, the proposed data structure occupies exactly ⌈n/B⌉ blocks of memory after each update, where n is the number of keys after each update and B is the number of keys contained in a memory block. In main memory, the time complexity of the operations is O(log2n/loglog n), disproving a conjecture of the mid 1980s. © 2003 Elsevier Inc. All rights reserved.




Franceschini, G., Grossi, R., Munro, J. I., & Pagli, L. (2004). Implicit B-trees: A new data structure for the dictionary problem. In Journal of Computer and System Sciences (Vol. 68, pp. 788–807). Academic Press Inc.

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free