Optimal Cache-Oblivious Implicit Dictionaries
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(logB 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.
KeywordsIntermediate Node Memory Hierarchy Node Area Compactor Zone Block Transfer
Unable to display preview. Download preview PDF.
- 1.M. A. Bender, E. D. Demaine, and M. Farach-Colton. Cache-oblivious b-trees. In Proc. 41st Symposium on Foundations of Computer Science, pages 399–409, 2000.Google Scholar
- 3.Michael A. Bender, Ziyang Duan, John Iacono, and Jing Wu. A locality-preserving cache-oblivious dynamic dictionary. In Proc. 13th Annual Symposium On Discrete Mathematics, pages 29–38, 2002.Google Scholar
- 4.Gerth Stølting Brodal, Rolf Fagerberg, and Riko Jacob. Cache-oblivious search trees via trees of small height. In Proc. 13th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 39–48, 2002.Google Scholar
- 8.Gianni Franceschini and Roberto Grossi. Implicit dictionaries supporting searches and amortized updates in O(log n log log n). In Proc. 14th Annual Symposium on Discrete Algorithms, 2003.Google Scholar
- 9.Gianni Franceschini, Roberto Grossi, J. Ian Munro, and Linda Pagli. Implicit B-trees: New results for the dictionary problem. In IEEE Symposium on Foundations of Computer Science (FOCS), 2002.Google Scholar
- 12.M. Frigo, C. E. Leiserson, H. Prokop, and S. Ramachandran. Cache-oblivious algorithms. In Proc. 40th Annual Symposium on Foundations of Computer Science, pages 285–297, 1999.Google Scholar
- 13.Alon Itai, Alan G. Konheim, and Michael Rodeh. A sparse table implementation of priority queues. Proc. Intern. Colloquium on Automata, Languages and Programming, LNCS 115, pages 417–431, 1981.Google Scholar
- 14.D. E. Knuth. The Art of Computer Programming III: Sorting and Searching. Addison-Wesley, Reading, Massachusetts, 1973.Google Scholar
- 18.H. Prokop. Cache-oblivious algorithms. Master’s thesis. MIT, Cambridge, MA, 1999.Google Scholar
- 19.Rajeev Raman, Venkatesh Raman, and S. Srinivasa Rao. Succinct indexable dictionaries with applications to encoding k-ary trees and multisets. In ACM-SIAM Symposium on Discrete Algorithms, pages 233–242, 2002.Google Scholar
- 20.J. W. J. Williams. Algorithm 232: Heapsort. Communications of the ACM, 7:347–348, 1964.Google Scholar