Dynamic Data Structures for Series Parallel Digraphs

Italiano, Giuseppe F.; Spaccamela, Alberto Marchetti; Nanni, Umberto

We consider the problem of dynamically maintaining general series parallel directed acyclic graphs (GSP dags), two-terminal series parallel directed acyclic graphs (TTSP dags) and looped series parallel directed graphs (looped SP digraphs). We present data structures for updating (by both inserting and deleting either a group of edges or vertices) GSP dags, TTSP clags and looped SP digraphs of m edges and n vertices in O( log n) worst-case time. The time required to check whether there is a path between two given vertices is O(log n), while a path of length k can be traced out in O(k + log n) time. For GSP and TTSP dags, our data structures are able to report a regular expression describing all the paths between two vertices x and y in O(h + log n), where h ≤ n is the total number of vertices which are contained in paths from x to y. Although GSP dags can have as many as O(n2) edges, we use an implicit representation which requires only O(n) space. Motivations for studying dynamic graphs arise in several areas, such as communication networks, Incremental compilation environments and the design of very high level languages, while the dynamic maintenance of series parallel graphs is also relevant in reducible flow diagrams.



More About This Work

Academic Units
Computer Science
Department of Computer Science, Columbia University
Columbia University Computer Science Technical Reports, CUCS-417-89
Published Here
December 22, 2011