Dynamic Succinct Ordered Trees

  • Authors:
  • Arash Farzan;J. Ian Munro

  • Affiliations:
  • Cheriton School of Computer Science, University of Waterloo,;Cheriton School of Computer Science, University of Waterloo,

  • Venue:
  • ICALP '09 Proceedings of the 36th International Colloquium on Automata, Languages and Programming: Part I
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We study the problem of maintaining a dynamic tree succinctly, in 2n + o (n ) bits, under updates of the following form: insertion or deletion of a leaf, insertion of a node on an edge (edge subdivision) or deletion of a node with only one child (the child becomes a child of the grandparent). We allow satellite data of a fixed (but not necessarily constant) size to be associated to the nodes of the tree. We support update operations in constant amortized time and support access to satellite data and basic navigation operations in worst-case constant time; the basic navigation operations includes parent , first/last-child , previous/next-child . We demonstrate that to allow fast support for more extended operations such as determining the i -th child of a node, rank of a child among its siblings, or subtree size, we require a restrictive update strategy for which we propose the finger-update model where updates are performed by a finger which is only allowed to crawl on the tree (between a child and a parent or between consecutive siblings). Under this model, we describe how the named operations can be performed in worst-case constant time. Previous work on dynamic succinct ordered trees [1,2] is mainly restricted to binary trees and achieves poly-logarithmic [1] or "poly-log-log" [2] update time under a more restricted model. Best previous result on ordinal trees achieves only sublinear amortized update time and "poly-log-log" query time [3].