A Cache-Oblivious Implicit Dictionary with the Working Set Property

  • Gerth Stølting Brodal
  • Casper Kejlberg-Rasmussen
  • Jakob Truelsen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6507)


In this paper we present an implicit dictionary with the working set property i.e. a dictionary supporting insert(e), delete(x) and predecessor(x) in \({\mathcal O}(\log n)\) time and search(x) in \({\mathcal O}(\log\ell)\) time, where n is the number of elements stored in the dictionary and ℓ is the number of distinct elements searched for since the element with key x was last searched for. The dictionary stores the elements in an array of size n using no additional space. In the cache-oblivious model the operations insert(e), delete(x) and predecessor(x) cause \({\mathcal O}(\log_B n)\) cache-misses and search(x) causes \({\mathcal O}(\log_B \ell)\) cache-misses.


Distinct Element Memory Management Shift Operation Additional Space Binary Heap 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bǎdoiu, M., Cole, R., Demaine, E.D., Iacono, J.: A unified access bound on comparison-based dynamic dictionaries. Theoretical Computer Science 382(2), 86–96 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Bose, P., Douïeb, K., Langerman, S.: Dynamic optimality for skip lists and B-trees. In: SODA 2008, pp. 1106–1114. SIAM, Philadelphia (2008)Google Scholar
  3. 3.
    Bose, P., Howat, J., Morin, P.: A distribution-sensitive dictionary with low space overhead. In: Dehne, F., et al. (eds.) WADS 2009. LNCS, vol. 5664, pp. 110–118. Springer, Heidelberg (2009)Google Scholar
  4. 4.
    Chan, T.M.Y., Chen, E.Y.: Optimal in-place algorithms for 3-d convex hulls and 2-d segment intersection. In: SoCG 2009, pp. 80–87. ACM, New York (2009)Google Scholar
  5. 5.
    Franceschini, G., Grossi, R.: Optimal worst-case operations for implicit cache-oblivious search trees. In: Dehne, F., Sack, J.-R., Smid, M. (eds.) WADS 2003. LNCS, vol. 2748, pp. 114–126. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  6. 6.
    Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: FOCS 1999, pp. 285–297. IEEE, Los Alamitos (1999)Google Scholar
  7. 7.
    Iacono, J.: Alternatives to splay trees with \(\mathcal{O}\)(log(n)) worst-case access times. In: SODA 2001, pp. 516–522. SIAM, Philadelphia (2001)Google Scholar
  8. 8.
    Mortensen, C.W., Pettie, S.: The complexity of implicit and space-efficient priority queues. In: Dehne, F., López-Ortiz, A., Sack, J.-R. (eds.) WADS 2005. LNCS, vol. 3608, pp. 49–60. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
    Munro, J.I., Suwanda, H.: Implicit data structures for fast search and update. Journal of Computer and System Sciences 21(2), 236–250 (1980)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Sleator, D.D., Tarjan, R.E.: Self-adjusting binary search trees. J. ACM 32(3), 652–686 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Williams, J.W.J.: Algorithm 232: Heapsort. Communications of the ACM 7(6), 347–348 (1964)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Gerth Stølting Brodal
    • 1
  • Casper Kejlberg-Rasmussen
    • 1
  • Jakob Truelsen
    • 1
  1. 1.MADALGO, Department of Computer ScienceAarhus UniversityDenmark

Personalised recommendations