## Linear-Time Pointer-Machine Algorithms for Least Common Ancestors, MST Verification, and Dominators (1998)

### Cached

### Download Links

- [www.math.tau.ac.il]
- [arxiv.org]
- [arxiv.org]
- [www.research.att.com]
- [www.cs.dartmouth.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | IN PROCEEDINGS OF THE THIRTIETH ANNUAL ACM SYMPOSIUM ON THEORY OF COMPUTING |

Citations: | 28 - 4 self |

### BibTeX

@INPROCEEDINGS{Buchsbaum98linear-timepointer-machine,

author = {Adam L. Buchsbaum and Haim Kaplan and Anne Rogers and Jeffery R. Westbrook},

title = {Linear-Time Pointer-Machine Algorithms for Least Common Ancestors, MST Verification, and Dominators},

booktitle = {IN PROCEEDINGS OF THE THIRTIETH ANNUAL ACM SYMPOSIUM ON THEORY OF COMPUTING},

year = {1998},

pages = {279--288},

publisher = {ACM Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

We present two new data structure tools---disjoint set union with bottom-up linking, and pointer-based radix sort---and combine them with bottom-level microtrees to devise the first linear-time pointer-machine algorithms for off-line least common ancestors, minimum spanning tree (MST) verification, randomized MST construction, and computing dominators in a flowgraph.

### Citations

2532 |
The Design and Analysis of Computer Algorithms
- AHO, HOPCROFT, et al.
- 1974
(Show Context)
Citation Context ...ata, dereferencing of pointers, and equality tests on pointers. It does not permit pointer arithmetic or tests on pointers other than testing for equality and is thus less powerful than the RAM model =-=[1]-=-. Pointer machines are powerful enough to simulate functional programming languages like LISP and ML. Often, though, the lack of random access complicates the design of efficient pointer machine algor... |

1062 | Depth-first search and linear graph algorithms
- Tarjan
- 1972
(Show Context)
Citation Context ...ode is in a singleton set. Each node v also has a set P(v) of queries {v,w}; each query is in two such lists, one for v and one for w. The algorithm is as follows. Visit the nodes of T in a postorder =-=[54]-=-. (Any postorder will do.) When visiting a node v, for every pair {v,w} in P(v) such that w has already been visited, return find(w) as the answer to the query nca(v,w). Finish the visit to v by perfo... |

872 | Efficiently computing static single assignment form and the control dependence graph
- Cytron, Ferrante, et al.
- 1991
(Show Context)
Citation Context ...immediate dominator of every vertex other than r. Finding dominators in flowgraphs is an elegant problem in graph theory with fundamental applications in global flow analysis and program optimization =-=[4, 19, 24, 45]-=- and additional applications in VLSI design [11], theoretical biology [5, 6] and constraint programming [51]. Lengauer and Tarjan [43] gave a practical O(mα(m,n))-time pointer-machine algorithm, cappi... |

856 | The program dependence graph and its use in optimization
- Ferrante, Ottenstein, et al.
- 1987
(Show Context)
Citation Context ...immediate dominator of every vertex other than r. Finding dominators in flowgraphs is an elegant problem in graph theory with fundamental applications in global flow analysis and program optimization =-=[4, 19, 24, 45]-=- and additional applications in VLSI design [11], theoretical biology [5, 6] and constraint programming [51]. Lengauer and Tarjan [43] gave a practical O(mα(m,n))-time pointer-machine algorithm, cappi... |

469 |
On the shortest spanning subtree of a graph and the traveling salesman problem
- Kruskal
- 1956
(Show Context)
Citation Context ...ST algorithm is run. We can define the analogous concept for other MST algorithms. For example, the Kruskal tree is the tree whose nodes are the connected components formed as Kruskal’s MST algorithm =-=[42]-=- is run. Kruskal’s algorithm starts with all vertices in singleton components and examines the edges in increasing order by weight, adding an edge to the MST being built, and combining the two corresp... |

341 |
Fast algorithms for finding nearest common ancestors
- Harel, Tarjan
- 1984
(Show Context)
Citation Context ...A queries for the NCA problem. α(m,n) is the standard functional inverse of the Ackermann function. Problem Previous Pointer-Machine Bound Previous RAM Bound Off-line NCAs O(mα(m,n) + n) [2] O(n + m) =-=[38, 52]-=- MST Verification O(mα(m,n) + n) [58] O(n + m) [22, 40] MST Construction O(mα(m,n) + n) [18] O(n + m) [26, 39] Interval Analysis O(mα(m,n) + n) [57] O(n + m) [30, 57] Dominators O(mα(m,n) + n) [43] O(... |

303 |
A data structure for dynamic trees
- Sleator, Tarjan
- 1983
(Show Context)
Citation Context ...uwen’s even-earlier algorithm [64] has the same bound for linking roots. The fastest known pointer-machine algorithm for linking and cutting is the O(n + m log n)-time algorithm of Sleator and Tarjan =-=[53]-=-; Harel and Tarjan [38] conjectured that this is asymptotically optimal, and the results of Pǎtras¸cu and Demaine [47] actually imply that lower bound in the cell-probe model. On a RAM, the fastest kn... |

264 |
Efficiency of a good but not linear set union algorithm
- Tarjan
- 1975
(Show Context)
Citation Context ...ainly from three new ideas. The first is a refined analysis of path compression. Path compression is a well-known technique first used to speed up the standard disjoint-set-union (DSU) data structure =-=[56]-=- and later extended to speed up the evaluation of functions defined on paths in trees [58]. Our applications use either the DSU structure or path evaluation for the function minimum or maximum, or bot... |

209 |
The Theory of Parsing
- Aho, Ullman
- 1972
(Show Context)
Citation Context ...immediate dominator of every vertex other than r. Finding dominators in flowgraphs is an elegant problem in graph theory with fundamental applications in global flow analysis and program optimization =-=[4, 19, 24, 45]-=- and additional applications in VLSI design [11], theoretical biology [5, 6] and constraint programming [51]. Lengauer and Tarjan [43] gave a practical O(mα(m,n))-time pointer-machine algorithm, cappi... |

188 |
On finding lowest common ancestors. Simplification and parallelization
- Schieber, Vishkin
- 1988
(Show Context)
Citation Context ...A queries for the NCA problem. α(m,n) is the standard functional inverse of the Ackermann function. Problem Previous Pointer-Machine Bound Previous RAM Bound Off-line NCAs O(mα(m,n) + n) [2] O(n + m) =-=[38, 52]-=- MST Verification O(mα(m,n) + n) [58] O(n + m) [22, 40] MST Construction O(mα(m,n) + n) [18] O(n + m) [26, 39] Interval Analysis O(mα(m,n) + n) [57] O(n + m) [30, 57] Dominators O(mα(m,n) + n) [43] O(... |

188 | The LCA problem revisited - Bender, Farach-Colton - 2000 |

181 |
Scaling and related techniques for geometry problems
- Gabow, Bentley, et al.
- 1984
(Show Context)
Citation Context ...eptually simpler, if not asymptotically faster. The problem we need to solve is that of computing minima for given subsequences of a sequence of numbers. This is the range minimum query (RMQ) problem =-=[29]-=-. This problem has a linear-time reduction [29] to an NCA problem on a Cartesian tree [65]. We can thus compute minima for paths Q by constructing the Cartesian tree and applying our NCA algorithm. Ei... |

165 |
Trans-dichotomous algorithms for minimum spanning trees and shortest paths
- Fredman, Willard
- 1994
(Show Context)
Citation Context ...evious Pointer-Machine Bound Previous RAM Bound Off-line NCAs O(mα(m,n) + n) [2] O(n + m) [38, 52] MST Verification O(mα(m,n) + n) [58] O(n + m) [22, 40] MST Construction O(mα(m,n) + n) [18] O(n + m) =-=[26, 39]-=- Interval Analysis O(mα(m,n) + n) [57] O(n + m) [30, 57] Dominators O(mα(m,n) + n) [43] O(n + m) [8, 15] Component Trees O(mα(m,n) + n) O(n + m) [62] the fastest pointer-machine algorithm is slower by... |

157 |
A linear-time algorithm for a special case of disjoint set union
- Gabow, Tarjan
- 1985
(Show Context)
Citation Context ... NCAs O(mα(m,n) + n) [2] O(n + m) [38, 52] MST Verification O(mα(m,n) + n) [58] O(n + m) [22, 40] MST Construction O(mα(m,n) + n) [18] O(n + m) [26, 39] Interval Analysis O(mα(m,n) + n) [57] O(n + m) =-=[30, 57]-=- Dominators O(mα(m,n) + n) [43] O(n + m) [8, 15] Component Trees O(mα(m,n) + n) O(n + m) [62] the fastest pointer-machine algorithm is slower by an inverse-Ackermann-function factor. 1 (See Table 1.) ... |

151 | A fast algorithm for finding dominators in a flowgraph
- Lengauer, Tarjan
- 1979
(Show Context)
Citation Context ...38, 52] MST Verification O(mα(m,n) + n) [58] O(n + m) [22, 40] MST Construction O(mα(m,n) + n) [18] O(n + m) [26, 39] Interval Analysis O(mα(m,n) + n) [57] O(n + m) [30, 57] Dominators O(mα(m,n) + n) =-=[43]-=- O(n + m) [8, 15] Component Trees O(mα(m,n) + n) O(n + m) [62] the fastest pointer-machine algorithm is slower by an inverse-Ackermann-function factor. 1 (See Table 1.) A pointer machine [59] allows b... |

151 | Data Structures for Weighted Matching and Nearest Common Ansestors with Linking - Gabow - 1990 |

124 | The Theory - Aho, Ullman - 1972 |

119 | A randomized linear-time algorithm to find minimum spanning trees
- Karger, Klein, et al.
- 1995
(Show Context)
Citation Context ...evious Pointer-Machine Bound Previous RAM Bound Off-line NCAs O(mα(m,n) + n) [2] O(n + m) [38, 52] MST Verification O(mα(m,n) + n) [58] O(n + m) [22, 40] MST Construction O(mα(m,n) + n) [18] O(n + m) =-=[26, 39]-=- Interval Analysis O(mα(m,n) + n) [57] O(n + m) [30, 57] Dominators O(mα(m,n) + n) [43] O(n + m) [8, 15] Component Trees O(mα(m,n) + n) O(n + m) [62] the fastest pointer-machine algorithm is slower by... |

112 |
Worst-case analysis of set union algorithms
- Tarjan, Leeuwen
- 1984
(Show Context)
Citation Context ...t of the set containing element v. There are alternative, equivalent formulations of the DSU problem. In one [56, 59], each set is accessed by a label, rather than by a designated element. In another =-=[61]-=-, sets have labels but can be accessed by any element. In yet another [61], each set is accessed by a canonical element, which in the case of a unite(v,w) operation can be freely chosen by the impleme... |

99 |
Undirected single-source shortest paths with positive integer weights in linear time
- Thorup
- 1999
(Show Context)
Citation Context ... MST Construction O(mα(m,n) + n) [18] O(n + m) [26, 39] Interval Analysis O(mα(m,n) + n) [57] O(n + m) [30, 57] Dominators O(mα(m,n) + n) [43] O(n + m) [8, 15] Component Trees O(mα(m,n) + n) O(n + m) =-=[62]-=- the fastest pointer-machine algorithm is slower by an inverse-Ackermann-function factor. 1 (See Table 1.) A pointer machine [59] allows binary comparisons and arithmetic operations on data, dereferen... |

98 |
A Unifying Look at Data Structures
- VUILLEMIN
- 1980
(Show Context)
Citation Context ...mputing minima for given subsequences of a sequence of numbers. This is the range minimum query (RMQ) problem [29]. This problem has a linear-time reduction [29] to an NCA problem on a Cartesian tree =-=[65]-=-. We can thus compute minima for paths Q by constructing the Cartesian tree and applying our NCA algorithm. Either method allows us to compute the top parts of arc tags in O(m) time on a pointer machi... |

93 |
On the history of the minimum spanning tree problem
- Graham, Hell
- 1985
(Show Context)
Citation Context ... and edges, respectively. Since G is connected and n ≥ 2, m ≥ n − 1 implies n = O(m). MST construction has perhaps the longest and richest history of any network optimization problem; Graham and Hell =-=[35]-=- and Chazelle [18] provide excellent surveys. A sequence of faster-and-faster algorithms culminated in the randomized linear-time algorithm of Karger, Klein, and Tarjan [39]. This algorithm requires a... |

89 |
Applications of path compression on balanced trees
- Tarjan
(Show Context)
Citation Context ...the standard functional inverse of the Ackermann function. Problem Previous Pointer-Machine Bound Previous RAM Bound Off-line NCAs O(mα(m,n) + n) [2] O(n + m) [38, 52] MST Verification O(mα(m,n) + n) =-=[58]-=- O(n + m) [22, 40] MST Construction O(mα(m,n) + n) [18] O(n + m) [26, 39] Interval Analysis O(mα(m,n) + n) [57] O(n + m) [30, 57] Dominators O(mα(m,n) + n) [43] O(n + m) [8, 15] Component Trees O(mα(m... |

82 |
Testing flow graph reducibility
- Tarjan
- 1974
(Show Context)
Citation Context ... called an interval; these intervals impose a hierarchy on the loop structure of G. Interval analysis has been used in global flow analysis of computer programs [3], in testing flowgraph reducibility =-=[60]-=-, and in the construction of two maximally edge-disjoint spanning trees of a flowgraph [57]. Tarjan [57] gave an O(mα(m,n))-time pointer-machine algorithm for interval analysis using DSU. The Gabow-Ta... |

80 | Nearest common ancestors: A survey and a new distributed algorithm
- Alstrup, Gavoille, et al.
(Show Context)
Citation Context ...irst linear-time RAM algorithm was actually given by Harel and Tarjan [38]. Other linear-time RAM algorithms were given by Schieber and Vishkin [52], Bender and Farach-Colton [12], and Alstrup et al. =-=[7]-=-. There are several variants of the NCAs problem of increasing difficulty. For each but the last, there is a non-constant-factor gap between the running time of the fastest RAM and pointer-machine alg... |

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

78 |
A minimum spanning tree algorithm with inverse-Ackermann type complexity
- CHAZELLE
(Show Context)
Citation Context ...on. Problem Previous Pointer-Machine Bound Previous RAM Bound Off-line NCAs O(mα(m,n) + n) [2] O(n + m) [38, 52] MST Verification O(mα(m,n) + n) [58] O(n + m) [22, 40] MST Construction O(mα(m,n) + n) =-=[18]-=- O(n + m) [26, 39] Interval Analysis O(mα(m,n) + n) [57] O(n + m) [30, 57] Dominators O(mα(m,n) + n) [43] O(n + m) [8, 15] Component Trees O(mα(m,n) + n) O(n + m) [62] the fastest pointer-machine algo... |

54 | Verification and sensitivity analysis of minimum spanning trees in linear time
- Dixon, Rauch, et al.
- 1992
(Show Context)
Citation Context ...inear in the total size of all the instances. Gabow and Tarjan [30] used this idea to solve a special case of disjoint set union in which the unordered set of unions is given in advance; Dixon et al. =-=[21]-=- applied the technique to MST verification and other problems. These applications use table look-up and require a RAM. Here we describe how to accomplish the same thing on a pointer machine. Our appro... |

52 |
Finding dominators in directed graphs
- Tarjan
- 1974
(Show Context)
Citation Context ...sign [11], theoretical biology [5, 6] and constraint programming [51]. Lengauer and Tarjan [43] gave a practical O(mα(m,n))-time pointer-machine algorithm, capping a sequence of previous improvements =-=[4,45,50,55]-=-. Harel [37] claimed a linear-time RAM algorithm, but Alstrup et al. [8] found problems with some of his arguments and developed a corrected algorithm, which uses powerful bit-manipulation-based data ... |

48 | An optimal minimum spanning tree algorithm
- Pettie, Ramachandran
- 2002
(Show Context)
Citation Context ... linear-time RAM algorithm that is not comparison-based. Subsequently, Chazelle [18] developed a deterministic, comparison-based O(mα(m,n))-time pointer-machine algorithm, and Pettie and Ramachandran =-=[49]-=- developed a deterministic, comparison-based pointer-machine algorithm that runs in minimum time to within a constant factor. Getting an asymptotically tight bound on the running time of this algorith... |

38 |
A linear time algorithm for finding dominators in flow graphs and related problems
- Harel
- 1985
(Show Context)
Citation Context ...al biology [5, 6] and constraint programming [51]. Lengauer and Tarjan [43] gave a practical O(mα(m,n))-time pointer-machine algorithm, capping a sequence of previous improvements [4,45,50,55]. Harel =-=[37]-=- claimed a linear-time RAM algorithm, but Alstrup et al. [8] found problems with some of his arguments and developed a corrected algorithm, which uses powerful bit-manipulation-based data structures. ... |

37 | A simpler minimum spanning tree verification algorithm
- King
- 1997
(Show Context)
Citation Context ...unctional inverse of the Ackermann function. Problem Previous Pointer-Machine Bound Previous RAM Bound Off-line NCAs O(mα(m,n) + n) [2] O(n + m) [38, 52] MST Verification O(mα(m,n) + n) [58] O(n + m) =-=[22, 40]-=- MST Construction O(mα(m,n) + n) [18] O(n + m) [26, 39] Interval Analysis O(mα(m,n) + n) [57] O(n + m) [30, 57] Dominators O(mα(m,n) + n) [43] O(n + m) [8, 15] Component Trees O(mα(m,n) + n) O(n + m) ... |

37 | Object code optimization - Lorry, Medlock - 1969 |

37 | A general approach to connected-component labeling for arbitrary image representations
- Dillencourt, Samet, et al.
- 1992
(Show Context)
Citation Context ...og ℓ + m, which sufficed for their purpose. They derived this result for a hybrid algorithm that handles long paths of unary nodes outside the standard DSU structure. Dillencourt, Samet, and Tamminen =-=[20]-=- gave a linear-time result assuming the stable tree property: essentially, once a find is performed on any element in a set X, all subsequent finds on elements currently in X must be 13performed befo... |

36 | Using multiset discrimination to solve language processing problems without hashing
- Cai, Paige
- 1995
(Show Context)
Citation Context ...quire indexing tables to map the results of the bitwise operations back to vertices in T . The idea of using pointers to buckets in lieu of indexing an array was described in general by Cai and Paige =-=[17]-=- in the context of multi-sequence discrimination. Their technique leaves the efficient identification of buckets with specific elements as an application-dependent problem. They solve this problem for... |

36 |
Two linear time Union-Find strategies for image processing
- Fiorio, Gustedt
- 1999
(Show Context)
Citation Context ...erty: essentially, once a find is performed on any element in a set X, all subsequent finds on elements currently in X must be 13performed before X can be united with another set. Fiorio and Gustedt =-=[25]-=- exploit the specific order of unions in an image-processing application. Gustedt [36] generalizes the previous two works to consider structures imposed on sets of allowable unions by various classes ... |

34 | Logarithmic lower bounds in the cell-probe model
- Pǎtra¸scu, Demaine
- 2006
(Show Context)
Citation Context ...or linking and cutting is the O(n + m log n)-time algorithm of Sleator and Tarjan [53]; Harel and Tarjan [38] conjectured that this is asymptotically optimal, and the results of Pǎtras¸cu and Demaine =-=[47]-=- actually imply that lower bound in the cell-probe model. On a RAM, the fastest known algorithms take Θ(n + m) time for the static on-line [38,52] and adding leaves [27] variants, O(n + mα(m + n,n)) t... |

30 | Path-based depth-first search for strong and biconnected components
- Gabow
- 2000
(Show Context)
Citation Context ...actions outside the path being processed and a stack that maintains contractions inside the path being processed. The latter structure functions in the same way as the one Gabow used in his algorithm =-=[28]-=- for finding strong components. Now we give the complete description of our algorithm. Partition the vertices in D ′ into a set of maximal paths by choosing, for each non-leaf vertex v in D ′ , a chil... |

27 |
O jistém problému minimálním, Práce Mor
- Borůvka
- 1926
(Show Context)
Citation Context ...mpute path maxima. Then we can use the simple link-eval structure of Section 3.2 in combination with the approach of Section 5 to obtain a linear-time algorithm. 6.2 The Bor˚uvka Tree A Bor˚uvka step =-=[13]-=- applied to a weighted, undirected graph G is as follows: select a least-weight edge incident to each vertex, and contract to a single vertex each connected component formed by the selected edges. Rep... |

26 | An on-line edge deletion problem - Even, Shiloach - 1981 |

25 |
On finding lowest common ancestor in trees
- Aho, Hopcroft, et al.
- 1976
(Show Context)
Citation Context ... number of NCA queries for the NCA problem. α(m,n) is the standard functional inverse of the Ackermann function. Problem Previous Pointer-Machine Bound Previous RAM Bound Off-line NCAs O(mα(m,n) + n) =-=[2]-=- O(n + m) [38, 52] MST Verification O(mα(m,n) + n) [58] O(n + m) [22, 40] MST Construction O(mα(m,n) + n) [18] O(n + m) [26, 39] Interval Analysis O(mα(m,n) + n) [57] O(n + m) [30, 57] Dominators O(mα... |

25 | Dominators in linear time
- Alstrup, Harel, et al.
- 1999
(Show Context)
Citation Context ...rification O(mα(m,n) + n) [58] O(n + m) [22, 40] MST Construction O(mα(m,n) + n) [18] O(n + m) [26, 39] Interval Analysis O(mα(m,n) + n) [57] O(n + m) [30, 57] Dominators O(mα(m,n) + n) [43] O(n + m) =-=[8, 15]-=- Component Trees O(mα(m,n) + n) O(n + m) [62] the fastest pointer-machine algorithm is slower by an inverse-Ackermann-function factor. 1 (See Table 1.) A pointer machine [59] allows binary comparisons... |

23 | Linear verification for spanning trees - Komlós - 1985 |

19 | Computing shortest paths with comparisons and additions
- Pettie, Ramachandran
(Show Context)
Citation Context ...list L of its edges, build the corresponding Kruskal tree. 5Compressed component trees (formed by adding edges a-group-at-a-time rather than one-at-a-time) have been used in shortest-path algorithms =-=[48, 62]-=-. It is straightforward to build a component tree or a compressed component tree in O(nα(n,n)) time on a pointer machine using DSU. The Gabow-Tarjan DSU algorithm [30] improves this algorithm to O(n) ... |

16 | Data structural bootstrapping, linear path compression, and catenable heap ordered double ended queues - Buchsbaum, Sundar, et al. - 1995 |

14 | A new, simpler linear-time dominators algorithm
- Buchsbaum, Kaplan, et al.
- 1998
(Show Context)
Citation Context ...rification O(mα(m,n) + n) [58] O(n + m) [22, 40] MST Construction O(mα(m,n) + n) [18] O(n + m) [26, 39] Interval Analysis O(mα(m,n) + n) [57] O(n + m) [30, 57] Dominators O(mα(m,n) + n) [43] O(n + m) =-=[8, 15]-=- Component Trees O(mα(m,n) + n) O(n + m) [62] the fastest pointer-machine algorithm is slower by an inverse-Ackermann-function factor. 1 (See Table 1.) A pointer machine [59] allows binary comparisons... |

12 | A faster deterministic algorithm for minimum spanning trees - Chazelle - 1997 |

11 |
Edge-disjoint spanning trees and depth-first search
- Tarjan
- 1976
(Show Context)
Citation Context ...he interval forest: h(v) is the parent of v in H. Each subtree H(v) of H induces a strongly connected subgraph of G, containing only vertices in D(v) (the descendants of v in D). See Figure 5. Tarjan =-=[57]-=- proposed an algorithm that uses an NCA computation, incremental backward search, and a DSU data structure to compute H in O(mα(m,n)) time on a pointer machine. We shall add microtrees, a maximal path... |

11 | Lower bounds for the union-find and the split-find problem on pointer machines - Poutré - 1996 |

10 |
Linearity and unprovability of set union problem strategies I. Linearity of strong postorder
- Loebl, Neˇsetˇril
- 1997
(Show Context)
Citation Context ...two works to consider structures imposed on sets of allowable unions by various classes of graphs. This work is orthogonal to that of Gabow and Tarjan [30]. Other improved bounds for path compression =-=[16, 44, 46]-=- restrict the order in which finds are performed, in ways different from our restriction. 4 Topological Graph Computations Consider some computation that takes as input a graph G whose vertices and ed... |