## A Simple Dynamic Algorithm for Maintaining a Dominator Tree (1996)

Citations: | 3 - 0 self |

### BibTeX

@TECHREPORT{Alstrup96asimple,

author = {Stephen Alstrup and Peter W. Lauridsen},

title = {A Simple Dynamic Algorithm for Maintaining a Dominator Tree},

institution = {},

year = {1996}

}

### OpenURL

### Abstract

We present a simple algorithm which maintains the dominator tree for an arbitrary flow graph during a sequence of i edge insertions interspersed with q queries as "does x dominate y?". The complexity of the algorithm is O(q + m minfi; ng), where m and n respectively are the number of edges and nodes in the flow graph after the i 0 th edge insertion. This improves the former best results from O(q log n +m i log n) in [12] and O(q n +m i) in [5]. Furthermore, we show that the complexity of our algorithm for a single edge insertion is bounded by those nodes which no longer will be dominated by the same set of nodes. 1 Introduction Dominator trees are used in control flow analysis [1, 6, 7, 8]. Algorithms for finding dominator trees for control flow graphs are given in [9, 10, 11] and the algorithm in [9] is linear. Recently dynamic algorithms [3, 5, 12] 1 have been presented for maintaining dominator trees, but the complexities of these algorithms are worse or just as good as...

### Citations

261 | Efficiency of a good but not linear set-union algorithm - Tarjan - 1975 |

147 | A fast algorithm for finding dominators in a flowgraph
- Lengauer, Tarjan
- 1979
(Show Context)
Citation Context ... will be dominated by the same set of nodes. 1 Introduction Dominator trees are used in control flow analysis [1, 6, 7, 8]. Algorithms for finding dominator trees for control flow graphs are given in =-=[9, 10, 11]-=- and the algorithm in [9] is linear. Recently dynamic algorithms [3, 5, 12] 1 have been presented for maintaining dominator trees, but the complexities of these algorithms are worse or just as good as... |

146 |
Data Structures for Weighted Matching and Nearest Common Ancestors with Linking
- Gabow
- 1990
(Show Context)
Citation Context ... promised complexity for the algorithm, we have to maintain the dominator tree in such a way that adding/removing leaves from the dominator tree and queries about nca can be done in constant time. In =-=[4]-=- an algorithm for adding leaves and answering nca-queries in constant time is given. This algorithm can be extended to handle deletion of leaves in constant time as follows. Each node is duplicated an... |

78 | A class of algorithms which require nonlinear time to maintain disjoint sets - Tarjan - 1979 |

38 |
A linear time algorithm for finding dominators in flow graphs and related problems
- Harel
- 1985
(Show Context)
Citation Context ... will be dominated by the same set of nodes. 1 Introduction Dominator trees are used in control flow analysis [1, 6, 7, 8]. Algorithms for finding dominator trees for control flow graphs are given in =-=[9, 10, 11]-=- and the algorithm in [9] is linear. Recently dynamic algorithms [3, 5, 12] 1 have been presented for maintaining dominator trees, but the complexities of these algorithms are worse or just as good as... |

34 |
Maintaining order in a generalized linked list
- Tsakalidis
- 1984
(Show Context)
Citation Context .... Interspersed with edge insertions queries as "does x dominate y" can be answered in constant time. Proof. In stead of using the results from [4] we do as follows. The pointer machine algor=-=ithm from [14]-=- is used for maintaining a tree to answer domination-queries. The algorithm has the same complexity as the RAM-algorithm. The algorithm from [2] is used for maintaining a tree to answer nca-queries. T... |

25 |
On finding lowest common ancestor in trees
- Aho, Hopcroft, et al.
- 1976
(Show Context)
Citation Context ...ity of our algorithm for a single edge insertion is bounded by those nodes which no longer will be dominated by the same set of nodes. 1 Introduction Dominator trees are used in control flow analysis =-=[1, 6, 7, 8]-=-. Algorithms for finding dominator trees for control flow graphs are given in [9, 10, 11] and the algorithm in [9] is linear. Recently dynamic algorithms [3, 5, 12] 1 have been presented for maintaini... |

24 |
Generalized dominators and post-dominators
- Gupta
- 1992
(Show Context)
Citation Context ...ity of our algorithm for a single edge insertion is bounded by those nodes which no longer will be dominated by the same set of nodes. 1 Introduction Dominator trees are used in control flow analysis =-=[1, 6, 7, 8]-=-. Algorithms for finding dominator trees for control flow graphs are given in [9, 10, 11] and the algorithm in [9] is linear. Recently dynamic algorithms [3, 5, 12] 1 have been presented for maintaini... |

19 | A linear time algorithm for placing OEnodes - Sreedhar, Gao - 1995 |

18 |
Immediate predominators in a directed graph [h
- Purdom, Moore
- 1972
(Show Context)
Citation Context ... will be dominated by the same set of nodes. 1 Introduction Dominator trees are used in control flow analysis [1, 6, 7, 8]. Algorithms for finding dominator trees for control flow graphs are given in =-=[9, 10, 11]-=- and the algorithm in [9] is linear. Recently dynamic algorithms [3, 5, 12] 1 have been presented for maintaining dominator trees, but the complexities of these algorithms are worse or just as good as... |

14 | Incremental computation of dominator trees
- Sreedhar, Gao, et al.
- 1997
(Show Context)
Citation Context ...e m and n respectively are the number of edges and nodes in the flow graph after the i 0 th edge insertion. This improves the former best results from O(qslog n +msislog n) in [12] and O(qsn +msi) in =-=[5]-=-. Furthermore, we show that the complexity of our algorithm for a single edge insertion is bounded by those nodes which no longer will be dominated by the same set of nodes. 1 Introduction Dominator t... |

14 | An incremental algorithm for maintaining the dominator tree of a reducible
- Ramalingam, Reps
- 1994
(Show Context)
Citation Context ...O(q + msminfi; ng), where m and n respectively are the number of edges and nodes in the flow graph after the i 0 th edge insertion. This improves the former best results from O(qslog n +msislog n) in =-=[12]-=- and O(qsn +msi) in [5]. Furthermore, we show that the complexity of our algorithm for a single edge insertion is bounded by those nodes which no longer will be dominated by the same set of nodes. 1 I... |

11 |
Incremental data flow update via attribute and dominator updates
- Carroll, Ryder
(Show Context)
Citation Context ...are used in control flow analysis [1, 6, 7, 8]. Algorithms for finding dominator trees for control flow graphs are given in [9, 10, 11] and the algorithm in [9] is linear. Recently dynamic algorithms =-=[3, 5, 12]-=- 1 have been presented for maintaining dominator trees, but the complexities of these algorithms are worse or just as good as recomputation from scratch. In this paper we present an O(q +msminfi; ng) ... |

4 | Optimal algorithms for finding nearest common ancestors in dynamic trees
- Alstrup, Thorup
(Show Context)
Citation Context ...] we do as follows. The pointer machine algorithm from [14] is used for maintaining a tree to answer domination-queries. The algorithm has the same complexity as the RAM-algorithm. The algorithm from =-=[2]-=- is used for maintaining a tree to answer nca-queries. The algorithm has the same complexity as the RAM-algorithm, except for nca-queries, which have the complexity O(log log n). For each edge inserti... |

2 |
Generalized dominators. Information processing letters
- Gupta
- 1995
(Show Context)
Citation Context ...ity of our algorithm for a single edge insertion is bounded by those nodes which no longer will be dominated by the same set of nodes. 1 Introduction Dominator trees are used in control flow analysis =-=[1, 6, 7, 8]-=-. Algorithms for finding dominator trees for control flow graphs are given in [9, 10, 11] and the algorithm in [9] is linear. Recently dynamic algorithms [3, 5, 12] 1 have been presented for maintaini... |