1 research outputs found

    An Experimental Study of Dynamic Dominators

    Full text link
    Motivated by recent applications of dominator computations, we consider the problem of dynamically maintaining the dominators of flow graphs through a sequence of insertions and deletions of edges. Our main theoretical contribution is a simple incremental algorithm that maintains the dominator tree of a flow graph with nn vertices through a sequence of kk edge insertions in O(mmin{n,k}+kn)O(m\min\{n,k\}+kn) time, where mm is the total number of edges after all insertions. Moreover, we can test in constant time if a vertex uu dominates a vertex vv, for any pair of query vertices uu and vv. Next, we present a new decremental algorithm to update a dominator tree through a sequence of edge deletions. Although our new decremental algorithm is not asymptotically faster than repeated applications of a static algorithm, i.e., it runs in O(mk)O(mk) time for kk edge deletions, it performs well in practice. By combining our new incremental and decremental algorithms we obtain a fully dynamic algorithm that maintains the dominator tree through intermixed sequence of insertions and deletions of edges. Finally, we present efficient implementations of our new algorithms as well as of existing algorithms, and conduct an extensive experimental study on real-world graphs taken from a variety of application areas.Comment: A preliminary version of this paper appeared in Proc. ESA 201
    corecore