Arrow Research search
Back to STOC

STOC 1985

A Linear Time Algorithm for Finding Dominators in Flow Graphs and Related Problems

Conference Paper Accepted Paper Algorithms and Complexity · Theoretical Computer Science

Abstract

In the first part of the paper we show how to extend recent methods for solving a special case of the union-find problem in linear time, to a special case of the eval-link-update problem for computing the minimum function defined on paths of trees. In the cases where our approach is applicable, we give a way to perform m eval, link , and update operations on n elements in O(m + n) time and O(n) space, improved from O(m α(m + n, n) + n) time and O(n) space in the more general case, where α is a functional inverse of Ackermans function. The technique gives similar improvements in the efficiency of algorithms for solving several network optimization problems in the case where all the keys involved are integers in some suitable range. In the second part of the paper we show how to use the new technique for speeding up the fastest known algorithm for finding dominators in flow graphs so that it runs in linear time. We introduce the notions of pseudo and external dominators which are both computable in linear time and make the technique introduced in the first part applicable for finding immediate dominators. We first give an algorithm for a limited class of graphs which include cycle free graphs, and thus can be used to find dominators in reducible flow graphs. We then show how to extend our technique for computing dominators on any flow graph. All the algorithms we describe run on a Random Access Machine.

Authors

Keywords

No keywords are indexed for this paper.

Context

Venue
ACM Symposium on Theory of Computing
Archive span
1969-2025
Indexed papers
4364
Paper id
949835894083957034
v2026.09.13