Results 1 -
7 of
7
Linear-Time Pointer-Machine Algorithms for Least Common Ancestors, MST Verification, and Dominators
- IN PROCEEDINGS OF THE THIRTIETH ANNUAL ACM SYMPOSIUM ON THEORY OF COMPUTING
, 1998
"... 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, ..."
Abstract
-
Cited by 26 (4 self)
- Add to MetaCart
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.
Data Structural Bootstrapping, Linear Path Compression, and Catenable Heap Ordered Double Ended Queues
- SIAM Journal on Computing
, 1992
"... A deque with heap order is a linear list of elements with real-valued keys which allows insertions and deletions of elements at both ends of the list. It also allows the findmin (equivalently findmax) operation, which returns the element of least (greatest) key, but it does not allow a general delet ..."
Abstract
-
Cited by 15 (7 self)
- Add to MetaCart
A deque with heap order is a linear list of elements with real-valued keys which allows insertions and deletions of elements at both ends of the list. It also allows the findmin (equivalently findmax) operation, which returns the element of least (greatest) key, but it does not allow a general deletemin (deletemax) operation. Such a data structure is also called a mindeque (maxdeque) . Whereas implementing mindeques in constant time per operation is a solved problem, catenating mindeques in sublogarithmic time has until now remained open. This paper provides an efficient implementation of catenable mindeques, yielding constant amortized time per operation. The important algorithmic technique employed is an idea which is best described as data structural bootstrapping: We abstract mindeques so that their elements represent other mindeques, effecting catenation while preserving heap order. The efficiency of the resulting data structure depends upon the complexity of a special case of pa...
A New, Simpler Linear-Time Dominators Algorithm
- ACM Transactions on Programming Languages and Systems
, 1998
"... this article is organized as follows. Section 2 outlines Lengauer and Tarjan's approach. Section 3 gives a broad overview of our algorithm and dierentiates it from previous work. Section 4 presents our algorithm in detail, and Section 5 analyzes its running time. Section 6 presents our new path-comp ..."
Abstract
-
Cited by 14 (4 self)
- Add to MetaCart
this article is organized as follows. Section 2 outlines Lengauer and Tarjan's approach. Section 3 gives a broad overview of our algorithm and dierentiates it from previous work. Section 4 presents our algorithm in detail, and Section 5 analyzes its running time. Section 6 presents our new path-compression result, on which the analysis relies. Section 7 describes our implementation, and Section 8 reports experimental results. We conclude in Section 9
A new framework for exhaustive and incremental data flow analysis using DJ graphs
- ACM SIGPLAN Conf. on PLDI
, 1995
"... In this paper we propose a new framework for elimination-based exhaustive and incremental data flow analysis using DJ graphs. In this paper we give an overview of our framework. The details can be found in our two long reports [SGL95a, SG95a]. These two reports are available from our WWW URL http:/ ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
In this paper we propose a new framework for elimination-based exhaustive and incremental data flow analysis using DJ graphs. In this paper we give an overview of our framework. The details can be found in our two long reports [SGL95a, SG95a]. These two reports are available from our WWW URL http://www-acaps.cs.mcgill.ca/~sreedhar/pubs.html OR http://www-acaps.cs.mcgill.ca/doc/memos.html i Contents 1 Introduction 1 2 Exhaustive Data Flow Analysis 3 2.1 The Eager Elimination Method : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3 2.1.1 Correctness of Eager Elimination : : : : : : : : : : : : : : : : : : : : : : : 8 2.2 The Delayed Elimination Method : : : : : : : : : : : : : : : : : : : : : : : : : : : 9 2.3 The Complexity of Our Exhaustive Elimination Methods : : : : : : : : : : : : : 11 3 Handling Irreducibility 13 4 Incremental Data Flow Analysis 13 4.1 Updating the Final Flow Equations: Non-Structural Changes : : : : : : : : : : : 14 4.2 Updating the Final Flow Equa...
Splay trees, Davenport-Schinzel sequences, and the deque conjecture
, 2007
"... We introduce a new technique to bound the asymptotic performance of splay trees. The basic idea is to transcribe, in an indirect fashion, the rotations performed by the splay tree as a Davenport-Schinzel sequence S, none of whose subsequences are isomorphic to fixed forbidden subsequence. We direct ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
We introduce a new technique to bound the asymptotic performance of splay trees. The basic idea is to transcribe, in an indirect fashion, the rotations performed by the splay tree as a Davenport-Schinzel sequence S, none of whose subsequences are isomorphic to fixed forbidden subsequence. We direct this technique towards Tarjan’s deque conjecture and prove that n deque operations require O(nα ∗ (n)) time, where α ∗ (n) is the minimum number of applications of the inverse-Ackermann function mapping n to a constant. We are optimistic that this approach could be directed towards other open conjectures on splay trees such as the traversal and split conjectures.
Applications of forbidden 0-1 matrices to search tree and path compression based data structures
, 2009
"... In this paper we improve, reprove, and simplify a variety of theorems concerning the performance of data structures based on path compression and search trees. We apply a technique very familiar to computational geometers but still foreign to many researchers in (non-geometric) algorithms and data s ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
In this paper we improve, reprove, and simplify a variety of theorems concerning the performance of data structures based on path compression and search trees. We apply a technique very familiar to computational geometers but still foreign to many researchers in (non-geometric) algorithms and data structures, namely, to bound the complexity of an object via its forbidden substructures. To analyze an algorithm or data structure in the forbidden substructure framework one proceeds in three discrete steps. First, one transcribes the behavior of the algorithm as some combinatorial object M; for example, M may be a graph, sequence, permutation, matrix, set system, or tree. (The size of M should ideally be linear in the running time.) Second, one shows that M excludes some forbidden substructure P, and third, one bounds the size of any object avoiding this substructure. The power of this framework derives from the fact that M lies in a more pristine environment and that upper bounds on the size of a P-free object M may be reused in different contexts. All of our proofs begin by transcribing the individual operations of a dynamic data structure
Efficient data flow analysis using DJ-graphs: Elimination methods revisited
, 1995
"... In this paper we present a new approach to elimination based data flow analysis that uses a program representation called the DJ Graph. The skeleton of the DJ graph of a program is the dominator tree of its flowgraph (whose edges are called D edges in this paper), and the tree skeleton is augmented ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
In this paper we present a new approach to elimination based data flow analysis that uses a program representation called the DJ Graph. The skeleton of the DJ graph of a program is the dominator tree of its flowgraph (whose edges are called D edges in this paper), and the tree skeleton is augmented with join edges (called J edges in this paper). Unlike the previous elimination methods, which first reduce a flowgraph to a single node, our approach only eliminate J edges from the DJ graph in a bottom-up fashion during the reduction process, while maintainting the dominator tree structure (which may be compressed). We propose two methods for eliminating variables: (1) eager elimination method, and (2) delayed elimination method. With eager elimination, we first perform variable elimination on the DJ-graph in a bottom-up manner. Once we determine the solution for the root node, we propagate this information in a top-down fashion on the dominator tree and determine the corresponding solutio...

