Dynamic Tree Cross Products

Range searching over tree cross products – a variant of classic range searching – recently has been introduced by Buchsbaum et al (Proc 8th ESA, vol 1879 of LNCS, pp 120–131, 2000) A tree cross product consist of hyperedges connecting the nodes of trees T1,...,Td In this context, range searching means to determine all hyperedges connecting a given set of tree nodes Buchsbaum et al describe a data structure which supports, besides queries, adding and removing of edges; the tree nodes remain fixed In this paper we present a new data structure, which additionally provides insertion and deletion of leaves of T1,...,Td; it combines the former approach with a novel technique of using search trees superimposed over ordered list maintenance structures The extra cost for this dynamization is roughly a factor of ${\mathcal O}({\rm log} {\it n}/{\rm log log} {\it n})$ The trees being dynamic is especially important for maintaining hierarchical graph views, a problem that can be modeled as tree cross product Such views evolve from a large base graph by the contraction of subgraphs defined recursively by an associated hierarchy The graph view maintenance problem is to provide methods for refining and coarsening a view In previous solutions only the edges of the underlying graph were dynamic; with the application of our data structure, the node set becomes dynamic as well.

[1]  Michael Jünger,et al.  Graph Drawing Software , 2003, Graph Drawing Software.

[2]  Jeffery R. Westbrook,et al.  Maintaining hierarchical graph views , 2000, SODA '00.

[3]  Paul F. Dietz Finding Level-Ancestors in Dynamic Trees , 1991, WADS.

[4]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[5]  Kozo Sugiyama,et al.  Visualization of structural information: automatic drawing of compound digraphs , 1991, IEEE Trans. Syst. Man Cybern..

[6]  Richard Cole,et al.  Two Simplified Algorithms for Maintaining Order in a List , 2002, ESA.

[7]  Niklaus Wirth,et al.  Algorithms and Data Structures , 1989, Lecture Notes in Computer Science.

[8]  Rajeev Raman,et al.  Algorithms — ESA 2002 , 2002, Lecture Notes in Computer Science.

[9]  Paul F. Dietz,et al.  Two algorithms for maintaining order in a list , 1987, STOC.

[10]  Peter van Emde Boas,et al.  Design and implementation of an efficient priority queue , 1976, Mathematical systems theory.

[11]  Stephen Alstrup,et al.  Improved Algorithms for Finding Level Ancestors in Dynamic Trees , 2000, ICALP.

[12]  David Harel,et al.  On visual formalisms , 1988, CACM.

[13]  Sergio Rajsbaum,et al.  LATIN 2002: Theoretical Informatics , 2002, Lecture Notes in Computer Science.

[14]  Marcus Raitner,et al.  HGV: A Library for Hierarchies, Graphs, and Views , 2002, GD.

[15]  Falk Schreiber,et al.  BioPath - Exploration and Visualization of Biochemical Pathways , 2004, Graph Drawing Software.

[16]  Uzi Vishkin,et al.  Finding Level-Ancestors in Trees , 1994, J. Comput. Syst. Sci..

[17]  Robert E. Tarjan,et al.  Fast Algorithms for Finding Nearest Common Ancestors , 1984, SIAM J. Comput..

[18]  Michael A. Bender,et al.  The Level Ancestor Problem Simplified , 2002, LATIN.

[19]  Mike S. Paterson Algorithms - ESA 2000 , 2003, Lecture Notes in Computer Science.

[20]  Michael T. Goodrich,et al.  Range Searching Over Tree Cross Products , 2000, ESA.

[21]  Robert F. Cohen,et al.  How to Draw a Planar Clustered Graph , 1995, COCOON.

[22]  Dan E. Willard,et al.  Good worst-case algorithms for inserting and deleting records in dense sequential files , 1986, SIGMOD '86.

[23]  Peter Eades,et al.  A Graph Model which Supports Flexible Layout , 1996 .