Dynamic Data Structures for Series Parallel Digraphs (Preliminary Version)

Published: 1989, Last Modified: 16 Apr 2025WADS 1989EveryoneRevisionsBibTeXCC BY-SA 4.0
Abstract: We consider the problem of dynamically maintaining minimal series parallel directed acyclic graphs (MSP dags), 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) MSP dags, GSP dags, TTSP dags 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 MSP 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 MSP and GSP dags can have as many as O(n 2) 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 incremental data flow analysis.
Loading