Amortized Rigidness in Dynamic Cartesian Trees

  • Iwona Bialynicka-Birula
  • Roberto Grossi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3884)


Cartesian trees have found numerous applications due to a peculiar rigid structure whose properties can be exploited in various ways. This rigidness, however, is also an obstacle when updating the structure since it can lead to a very unbalanced shape and so up to now most applications either assumed a random distribution of the keys or considered only the static case. In this paper we present a framework for efficiently maintaining a Cartesian tree under insertions and weak deletions in O(log n) amortized time per operation, using O(n) space. We show that the amortized cost of updating a Cartesian tree is \(O(1 + \mathcal{H}(T)/n)\) where \(\mathcal{H}(T) = O(nlogn)\) is an entropy-related measure for the partial order encoded by T. We also show how to exploit this property by implementing an algorithm which performs these updates in O(log n) time per operation. No poly-logarithmic update bounds were previously known.


Range Query Linear Extension Companion Interval Downward Path Contiguous Range 
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.
    Vuillemin, J.: A unifying look at data structures. Comm. ACM 23, 229–239 (1980)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Gabow, H.N., Bentley, J.L., Tarjan, R.E.: Scaling and related techniques for geometry problems. In: STOC 1984, pp. 135–143 (1984)Google Scholar
  3. 3.
    Seidel, R., Aragon, C.R.: Randomized search trees. Algorithmica 16, 464–497 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Bender, M.A., Farach-Colton, M.: The LCA problem revisited. In: Latin American Theoretical Informatics 2000, pp. 88–94 (2000)Google Scholar
  5. 5.
    Devroye, L.: On random Cartesian trees. Random Struct. Algorithms 5, 305–328 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    McCreight, E.M.: Priority search trees. SIAM J. Comput. 14, 257–276 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Cole, R., Hariharan, R.: Dynamic LCA queries on trees. SIAM J. Comput. 34, 894–923 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Edelsbrunner, H.: A new approach to rectangle intersections, part I. International Journal Computer Mathematics 13, 209–219 (1983)CrossRefzbMATHGoogle Scholar
  9. 9.
    Arge, L., Vitter, J.S.: Optimal external memory interval management. SIAM J. Comput. 32, 1488–1508 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Lagogiannis, G., Makris, C., Panagis, Y., Sioutas, S., Tsichlas, K.: New dynamic balanced search trees with worst-case constant update time. J. Autom. Lang. Comb. 8, 607–632 (2003)MathSciNetzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Iwona Bialynicka-Birula
    • 1
  • Roberto Grossi
    • 1
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations