Maintaining information in fully dynamic trees with top trees

  • Authors:
  • Stephen Alstrup;Jacob Holm;Kristian De Lichtenberg;Mikkel Thorup

  • Affiliations:
  • IT University of Copenhagen, København S, Denmark;Improva ApS, København ø, Denmark;-;AT&T Labs---Research, Florham Park, NJ

  • Venue:
  • ACM Transactions on Algorithms (TALG)
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We design top trees as a new simpler interface for data structures maintaining information in a fully dynamic forest. We demonstrate how easy and versatile they are to use on a host of different applications. For example, we show how to maintain the diameter, center, and median of each tree in the forest. The forest can be updated by insertion and deletion of edges and by changes to vertex and edge weights. Each update is supported in O(log n) time, where n is the size of the tree(s) involved in the update. Also, we show how to support nearest common ancestor queries and level ancestor queries with respect to arbitrary roots in O(log n) time. Finally, with marked and unmarked vertices, we show how to compute distances to a nearest marked vertex. The latter has applications to approximate nearest marked vertex in general graphs, and thereby to static optimization problems over shortest path metrics.Technically speaking, top trees are easily implemented either with Frederickson's [1997a] topology trees or with Sleator and Tarjan's [1983] dynamic trees. However, we claim that the interface is simpler for many applications, and indeed our new bounds are quadratic improvements over previous bounds where they exist.