## Optimal cache-oblivious implicit dictionaries (2003)

Venue: | In Proceedings of the 30th International Colloquium on Automata, Languages and Programming |

Citations: | 6 - 2 self |

### BibTeX

@INPROCEEDINGS{Franceschini03optimalcache-oblivious,

author = {Gianni Franceschini and Roberto Grossi},

title = {Optimal cache-oblivious implicit dictionaries},

booktitle = {In Proceedings of the 30th International Colloquium on Automata, Languages and Programming},

year = {2003},

pages = {316--331}

}

### OpenURL

### Abstract

Abstract. We consider the issues of implicitness and cache-obliviousness in the classical dictionary problem for n distinct keys over an unbounded and ordered universe. One finding in this paper is that of closing the longstanding open problem about the existence of an optimal implicit dictionary over an unbounded universe. Another finding is motivated by the antithetic features of implicit and cache-oblivious models in data structures. We show how to blend their best qualities achieving O(log n) time and O(log B n) block transfers for searching and for amortized updating, while using just n memory cells like sorted arrays and heaps. As a result, we avoid space wasting and provide fast data access at any level of the memory hierarchy. 1

### Citations

8557 |
Introduction to Algorithms
- Cormen, Leiserson, et al.
- 2001
(Show Context)
Citation Context ...and O(log n) amortized time for updating, with just O(1) RAM registers needed to operate dynamically. Our second finding relates to the data structures in the cache-oblivious (memory-hierarchy) model =-=[12]-=-, such as cache-oblivious B-trees [1] and other dictionaries (e.g., [3, 4, 2]). In this ideal model there are two levels of memory hierarchy, where one level is small and fast and the other level is l... |

193 | Succinct indexable dictionaries with applications to encoding k-ary trees, prefix sums and multisets
- Raman, Raman, et al.
(Show Context)
Citation Context ...ted in [16], it has also been the subject of papers taking a somewhat different point of view, including a long lists of results in perfect hashing [11, 6], bounded-universe and succinct dictionaries =-=[5, 17, 19]-=-, and cache-oblivious data structures [4]. These results use a model different from the model adopted in [16] and following papers. The latter model extends the comparison model, so that a suitable pe... |

149 |
ACM algorithm 232: Heap sort
- Williams
- 1964
(Show Context)
Citation Context ...interest. Our first finding holds for the data structures in the implicit model [15, 16], in which the only space usage is that of the keys with no waste of memory cells. Sorted arrays [14] and heaps =-=[7, 20]-=- are the simplest form. While the term “implicit” originated in [16], it has also been the subject of papers taking a somewhat different point of view, including a long lists of results in perfect has... |

133 | Concurrent cache-oblivious B-trees
- Bender, Fineman, et al.
- 2005
(Show Context)
Citation Context ...ng, with just O(1) RAM registers needed to operate dynamically. Our second finding relates to the data structures in the cache-oblivious (memory-hierarchy) model [12], such as cache-oblivious B-trees =-=[1]-=- and other dictionaries (e.g., [3, 4, 2]). In this ideal model there are two levels of memory hierarchy, where one level is small and fast and the other level is large but slow. Data transfers between... |

72 | A locality-preserving cache-oblivious dynamic dictionary
- Bender, Duan, et al.
- 2002
(Show Context)
Citation Context ...eeded to operate dynamically. Our second finding relates to the data structures in the cache-oblivious (memory-hierarchy) model [12], such as cache-oblivious B-trees [1] and other dictionaries (e.g., =-=[3, 4, 2]-=-). In this ideal model there are two levels of memory hierarchy, where one level is small and fast and the other level is large but slow. Data transfers between the two levels occur in blocks of B dat... |

63 | Membership in constant time and almostminimum space - Brodnik, Munro - 1999 |

49 | Low redundancy in static dictionaries with constant query time
- Pagh
- 2001
(Show Context)
Citation Context ...ted in [16], it has also been the subject of papers taking a somewhat different point of view, including a long lists of results in perfect hashing [11, 6], bounded-universe and succinct dictionaries =-=[5, 17, 19]-=-, and cache-oblivious data structures [4]. These results use a model different from the model adopted in [16] and following papers. The latter model extends the comparison model, so that a suitable pe... |

47 |
A sparse table implementation of priority queues
- Itai, Konheim, et al.
- 1981
(Show Context)
Citation Context ...ating a new chunk from a chunk in a maximal list of size α, we have to redistribute the chunks by reclassifying them as actual and virtual, while preserving their order. We employ a notion of density =-=[1, 4, 13]-=- for this purpose, with the further requirements of avoiding to produce empty slots and of distributing virtual chunks among the actual chunks without violating their order. Note that we are allowed t... |

38 |
János Komlós, and Endre Szemerédi. Storing a sparse table with O(1) worst case access time
- Fredman
- 1984
(Show Context)
Citation Context ...the simplest form. While the term “implicit” originated in [16], it has also been the subject of papers taking a somewhat different point of view, including a long lists of results in perfect hashing =-=[11, 6]-=-, bounded-universe and succinct dictionaries [5, 17, 19], and cache-oblivious data structures [4]. These results use a model different from the model adopted in [16] and following papers. The latter m... |

36 |
An implicit data structure supporting insertion, deletion, and search in O(log 2 n) time
- Munro
- 1986
(Show Context)
Citation Context ...ds/writes and comparisons. Among others, implicit models and cache-oblivious models have recently stimulated a surge of interest. Our first finding holds for the data structures in the implicit model =-=[15, 16]-=-, in which the only space usage is that of the keys with no waste of memory cells. Sorted arrays [14] and heaps [7, 20] are the simplest form. While the term “implicit” originated in [16], it has also... |

19 | Exponential structures for efficient cache-oblivious algorithms, in
- Bender, Cole, et al.
(Show Context)
Citation Context ...eeded to operate dynamically. Our second finding relates to the data structures in the cache-oblivious (memory-hierarchy) model [12], such as cache-oblivious B-trees [1] and other dictionaries (e.g., =-=[3, 4, 2]-=-). In this ideal model there are two levels of memory hierarchy, where one level is small and fast and the other level is large but slow. Data transfers between the two levels occur in blocks of B dat... |

19 |
The Art of Computer Programming III, Sorting and Searching
- Knuth
- 1973
(Show Context)
Citation Context ...ted a surge of interest. Our first finding holds for the data structures in the implicit model [15, 16], in which the only space usage is that of the keys with no waste of memory cells. Sorted arrays =-=[14]-=- and heaps [7, 20] are the simplest form. While the term “implicit” originated in [16], it has also been the subject of papers taking a somewhat different point of view, including a long lists of resu... |

17 |
Non-oblivious hashing
- Fiat, Naor, et al.
- 1992
(Show Context)
Citation Context ...the simplest form. While the term “implicit” originated in [16], it has also been the subject of papers taking a somewhat different point of view, including a long lists of results in perfect hashing =-=[11, 6]-=-, bounded-universe and succinct dictionaries [5, 17, 19], and cache-oblivious data structures [4]. These results use a model different from the model adopted in [16] and following papers. The latter m... |

13 |
Implicit B-trees: New results for the dictionary problem
- Franceschini, Grossi, et al.
- 2002
(Show Context)
Citation Context ...d arrays and heaps. Not only we avoid space wasting; we provide optimal data access at any level of the memory hierarchy. Compared to previous work, our flat implicit tree is complementary to that in =-=[9]-=- achieving O(log B n) bounds for B = Ω(log n), which is not restrictive in real situations. The bounds in [9] are worst case in the cache-aware model and, moreover, scanning r keys takes O(log B n + r... |

12 |
Algorithm 245 (TREESORT
- Floyd
- 1964
(Show Context)
Citation Context ...interest. Our first finding holds for the data structures in the implicit model [15, 16], in which the only space usage is that of the keys with no waste of memory cells. Sorted arrays [14] and heaps =-=[7, 20]-=- are the simplest form. While the term “implicit” originated in [16], it has also been the subject of papers taking a somewhat different point of view, including a long lists of results in perfect has... |

12 |
Implicit dictionaries supporting searches and amortized updates in O(log n log log n
- Franceschini, Grossi
- 2003
(Show Context)
Citation Context ...t the ith bit is 0 when min{xi, yi} precedes max{xi, yi} and it is 1 when max{xi, yi} precedes min{xi, yi}. From a high-level point of view, our implicit dictionary is a suitable collection of chunks =-=[15, 9, 8]-=- and spare keys. Each chunk contains k keys pairwise permuted for encoding a constant number of integers and pointers, each of b = O(log n) bits. The keys in any chunk belong to a certain interval of ... |

11 | Implicit data structures for the dictionary problem - Frederickson - 1983 |

7 |
Cache-oblivious search trees via trees of small height
- Brodal, Fagerberg, et al.
- 2002
(Show Context)
Citation Context ...rs taking a somewhat different point of view, including a long lists of results in perfect hashing [11, 6], bounded-universe and succinct dictionaries [5, 17, 19], and cache-oblivious data structures =-=[4]-=-. These results use a model different from the model adopted in [16] and following papers. The latter model extends the comparison model, so that a suitable permutation of the n keys in a contiguous s... |

7 |
Cache-oblivious algorithms. Master’s thesis, Department of Electrical Engineering and Computer Science at the Massachussets Institute of Technology
- Prokop
- 1999
(Show Context)
Citation Context ...the sake of discussion. 4.2 Building the VEB-permutation We define the Van Emde Boas permutation (shortly, VEB-permutation) of 2 h − 1 keys following Prokop’s recursive scheme for Van Emde Boas trees =-=[18]-=-. Suppose to have a complete binary tree with h ≥ 1 levels and 2 h − 1 nodes, where h = 1 indicates that the tree has just one node. The nodes store the sorted sequence of 2 h − 1 keys in symmetric or... |

6 |
Munro and Hendra Suwanda. Implicit data structures for fast search and update
- Ian
- 1980
(Show Context)
Citation Context ...ds/writes and comparisons. Among others, implicit models and cache-oblivious models have recently stimulated a surge of interest. Our first finding holds for the data structures in the implicit model =-=[15, 16]-=-, in which the only space usage is that of the keys with no waste of memory cells. Sorted arrays [14] and heaps [7, 20] are the simplest form. While the term “implicit” originated in [16], it has also... |